如何在Python中进行相对导入?
想象一下这个目录结构:
app/ __init__.py sub1/ __init__.py mod1.py sub2/ __init__.py mod2.py
我正在编码mod1
,我需要从中导入一些东西mod2
。我该怎么办?
我尝试了from ..sub2 import mod2
但是我得到了“尝试非包装中的相对导入”。
我google了一下,但发现只有“ sys.path
操纵”黑客。有没有干净的方式?
编辑:我__init__.py
的所有人目前都是空的
EDIT2:我想这样做,因为SUB2包含了为子包(共享类sub1
,subX
等等)。
Edit3:我正在寻找的行为与PEP 366中描述的相同(感谢John B)