这似乎不是python 3中的问题,但我需要使用python 2.7来解决这个问题,并得到以下问题
DIRECTORY STRUCTURE
module
├── __init__.py
└── submodule
├── __init__.py
└── test.py
# module/__init__.py
from module import submodule
# module/submodule/__init__.py
from module.submodule import test
# module/submodule/test.py
from module import submodule
当我尝试从其他地方导入模块时,会导致以下错误:
>>> import module
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "module/__init__.py", line 1, in <module>
from module import submodule
File "module/submodule/__init__.py", line 1, in <module>
from module.submodule import test
File "module/submodule/test.py", line 1, in <module>
from module import submodule
ImportError: cannot import name submodule
我假设这个问题与循环导入有关,但我需要在module/__init__.py和module/submodule/test.py中使用submodule
感谢您的帮助
正如您提到的循环导入,解决这个问题的一种方法是在本地导入模块。
例如
def fun():
from module import submodule