子包中导入模块中的错误

桂武

我有这个包结构:

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章