独立程序中的 Python 路径/导入

标签 python import path

我正在编写一个小型应用程序包。它与可移植的 Python 一起分发,因此代码无法访问 Windows 设置。

该程序具有以下结构:

mypr
    __init__.py
    gui
        __init.__.py
    prlib
        __init__.py

我正在尝试在 prlib 中执行此操作 from mypr.gui import Gui 但当然,mypr 尚未定义。我可以将其添加到 win 路径、编辑 pth 文件或将 sys.path 附加到当前目录,但是:这将是一个可移植应用程序,目录将会更改。

那么,我如何确保 Python 在开发和部署期间始终在路径中包含 mypr ?无需更改 *.pth 或编辑 Windows PATH。在运行时是否有一些合理的 hack 来链接 mypr

或者,是否可以“相对”导入包?我尝试了 from .gui import Gui,但没有成功。

最佳答案

如果您只想访问“prlib”上方目录中的“gui”模块,可以通过以下方式实现:

import os
import sys
sys.path.append(os.path.join(os.dirname(__file__), '../'))

然后您应该能够通过以下方式导入“gui”:

from gui import Gui

关于独立程序中的 Python 路径/导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6562483/

相关文章:

python - 如何使用 csv dictreader、matplotlib 和 numpy 创建概率密度函数图?

python - 从整数列表创建索引字典

css - 在 QT 样式表中导入另一个 css 文件

path - 更改.AndroidStudioBeta文件夹的位置

python - 使用 tidydata 原则在 pandas/python 中进行 Groupby 变异等效项

Python: 'ascii' 编解码器无法编码字符 u'\\u2026'

ios - 如何在 iOS 应用程序中实现/导入图形设计

node.js - 如何在 React Native 中导入 Node 模块

bash - FFmpeg 和 bash,使用保存路径将多个文件转码到另一个驱动器

macos - 找不到 Bash 命令——$PATH 已损坏