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