【发布时间】:2014-08-19 03:24:15
【问题描述】:
我有这样的文件结构:
/mypkg
/__init__.py
/apkg
/__init__.py
如何在不使用 sys.path 的情况下从 /mypkg/apkg/__init__.py 导入 /mypkg/__init__.py 并在包中。我的意思是:
# I do not want to do this since path is already outside the package.
import sys
sys.path.append('../../')
import mypkg
再次感谢。
【问题讨论】:
-
您不能导入不在
sys.path上的任何东西。如果模块不在sys.path上以正常方式(例如,通过安装到 Python 库目录,或通过在当前目录中),您必须自己添加它。 -
假设我们有一个文件 /mypkg/afile.py。那么这就是我们在 /mypkg/apkg/_init_.py 中会做的事情:
from .. import afile。我想学习如何导入 __init__ 文件,就像 afile 一样。 -
我标记为重复的问题显示了如何做到这一点。但请注意,顶级包(例如,您的
mypkg)仍然必须可以从sys.path访问。
标签: python python-3.x package python-import