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)
我得到导入错误:
[email protected]:~/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
[email protected]:~/projects/test$
我不明白:第一次from scripts import main
工作(通过 “合作” 我的意思是它没有与ImportError
失败),第二次相同的代码给出ImportError: cannot import name main
这是怎么回事?
更新:
我的问题不是关于循环进口。我很困惑的事实,即完全相同的代码from scripts import main
第一次工作正常,然后第二次失败。
我想有一些内部导入机制,我不明白。
第一次语句导入模块,第二次完全相同的代码尝试从模块导入名称。这是如何工作的?
我不是这个话题的专家,这是少了很好的答案,但这[链接](http://docs.python.org/dev/howto/pyporting.html#from-future-import-absolute-import)可能会帮助你。 – sfx 2012-08-15 17:59:27