我有这个包结构:
root/package/__init__.py
root/package/main.py
root/package/subpackage/__init__.py
root/package/subpackage/script1.py
root/package/subpackage/script2.py
然后在main.py中,我有 from package.subpackage import script1
在script1中,我有:
import script2
def do_smt():
script2.do_smt()
所以当我运行main.py
哪个调用时script1.do_smt()
,我ImportError
从行的script1中得到了一个import script2
。
我已经设置了我的PYTHONPATH = .... / root /
我会错过任何东西吗?
谢谢
更新:当我在python 2中尝试了上述设置时,它工作得很好。所以这是一个与python3相关的错误。我正在运行python 3.4
在Python 3中,您可以执行
from .script2 import * #1
from package.subpackage.script2 import * #2
from package.subpackage import script2 #3
from . import script2 #4
似乎需要更详细地说明相对进口。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句