Python 导入。再次...
我有这个文件结构:
[test]
start.py (from scripts import main)
[scripts]
__init__.py (empty)
main.py (from . import install)
install.py (from scripts import main # or # from . import main)
我收到导入错误:
vic@wic:~/projects/test$ python3 start.py
Traceback (most recent call last):
File "start.py", line 2, in <module>
from scripts import main
File "/home/vic/projects/test/scripts/main.py", line 1, in <module>
from . import install
File "/home/vic/projects/test/scripts/install.py", line 1, in <module>
from scripts import main
ImportError: cannot import name main
vic@wic:~/projects/test$
我不明白:第一次from scripts import main
工作(通过“工作”我的意思是它没有失败ImportError
),第二次相同的代码给出ImportError: cannot import name main
到底是怎么回事?
更新:
我的问题与循环进口无关。我对完全相同的代码from scripts import main
第一次工作正常,然后第二次失败这一事实感到困惑。
我想有一些我不明白的内部导入机制。
第一次语句导入模块,第二次完全相同的代码尝试从模块导入名称。这是如何工作的?