我正在写一个很小的应用程序包。它与可移植的Python一起分发,因此代码无法访问Windows设置。
该程序具有以下结构:
mypr
__init__.py
gui
__init.__.py
prlib
__init__.py
我正在尝试在
from mypr.gui import Gui
中执行此prlib
,但是,当然,未定义mypr
。我可以将其添加到win路径,编辑pth文件或在当前目录后附加sys.path
,但是:这将是可移植的应用程序,并且目录将更改。因此,如何确定在开发和部署过程中,Python路径中始终带有
mypr
?无需更改* .pth或编辑Windows PATH
。在运行时是否存在一些合理的技巧来链接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