最佳答案
想象一下这个目录结构:
app/
__init__.py
sub1/
__init__.py
mod1.py
sub2/
__init__.py
mod2.py
我正在编码mod1
,我需要从mod2
导入一些东西。我该怎么做呢?
我尝试了from ..sub2 import mod2
,但我得到了“在非包中尝试相对导入”。
我在谷歌上搜索了一下,但只找到了“sys.path
操纵”的黑客。没有干净的方法吗?
编辑:我所有的__init__.py
目前是空的
Edit2:我试图这样做是因为sub2包含跨子包共享的类(sub1
, subX
等)。
Edit3:我正在寻找的行为与PEP 366中所描述的相同(感谢John B)