我試圖重構一些python代碼,我卡住導入錯誤,我不明白。我懷疑某處可能存在循環依賴,但我沒有看到它,並且我沒有從錯誤消息中得到很多提示。該代碼庫很大,但也有興趣在這裏兩個模塊:Bizarre不一致python ImportError - 可能的循環依賴?
radian/models.py
定義了一個名爲類ACount
datalayer/radian.py
中有如下一行:
from radian.models import ACount
當我運行的代碼(或交互地或從主程序)進口失敗的方式對我來說沒有意義。
>>> from radian.models import ACount
>>> import datalayer.radian
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/Users/leopd/dev/dbproj/datalayer/radian.py", line 10, in <module>
from radian.models import ACount
ImportError: No module named models
我最好的猜測是,有一個循環依賴的地方 - 這是radian
進口的東西,進口datalayer
。但我沒看到它。錯誤信息對我沒有任何意義。任何想法發生了什麼?
- 更新 -
我在Mac上使用python 2.6.1。 __init__.py
文件中有一些代碼,但它們只從標準Python包導入。
您使用的是什麼Python版本?如果可用,我建議啓用絕對導入。 – 2011-06-06 20:06:03
'radian'是否有'__init __。py'文件? – 2011-06-06 20:06:30
'radian.py'文件是否可以從本身導入'models'? – JAB 2011-06-06 20:07:28