因此,我的python包中具有以下结构:
./main.py
__init__.py
./mymods/
__init__.py
a.py
b.py
我的模块a.py导入模块b:
import b
现在,我想从main导入模块a,但是当我得到以下信息时:
import mymods.a
ImportError: No module named 'b'
我用谷歌搜索,但是找不到这个特定问题的解决方案。有谁知道该怎么做的好撒玛利亚人?
ps如果可能的话,我希望不必从main显式导入模块b。
您需要mymods
包装成一个包装。只需__init__.py
在目录中创建一个空文件即可完成此操作。
➜ tree
.
├── main.py
└── mymods
├── __init__.py
├── a.py
└── b.py
1 directory, 4 files
➜ cat main.py
import mymods.a
print 'printing from main'
➜ cat mymods/a.py
from . import b
print 'printing from a'
➜ cat mymods/b.py
print 'printing from b
➜ python main.py
printing from b
printing from a
printing from main
对于Python 3,将更import b
改为from . import b
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句