我目前的结构:
+- libs/ -+- lib1/ -+- __init__.py
| | |
| | +- classA.py
| | |
| | +- classB.py
| |
| +- lib2/ -+- __init__.py
| |
| +- __init__.py
|
+- script.py
在script.py
我from libs import lib1
lib1/__init__.py
{}}我将有条件地导入classA
或classB
并将其用作整个运行的单身人士。
在classA
和classB
中,我需要使用导入为lib2
的{{1}}。
一切都很完美,直到from libs import lib2
我需要调用lib2/__init__.py
的单例方法,并且无法将其导入:
lib1
不完全确定为什么来自Traceback (most recent call last):
File "/bin/script", line 5, in <module>
from libs import lib1
File "/home/vagrant/sync/src/libs/lib1/__init__.py", line 3, in <module>
import classA
File "/home/vagrant/sync/src/libs/lib1/classA.py", line 5, in <module>
from libs import lib2
File "/home/vagrant/sync/src/libs/lib2/__init__.py", line 5, in <module>
from libs import lib1
ImportError: No module named libs
我可以导入相邻lib1/classA.py
就好了,但是lib2
同时无法导入相邻的lib2/__init__.py
?关于进口如何运作,我有什么遗漏吗?