我似乎間歇性地遇到了此問題。無法使用頂級模塊(源文件夾)啓動我的導入語句
有時我有一個PyDev項目,如果我嘗試使用頂級文件夾的名稱開始我的導入,那麼我會收到編譯錯誤。因此,假設我的項目是這樣的:
+ myproject
- __init__.py
- a.py
- b.py
+ package1
- c.py
- __init__.py
+ package2
- d.py
- e.py
- __init__.py
如果我在文件a.py是,它不會讓我做進口是這樣,例如:
from myproject.b import foo
import myproject.b
也是一樣爲任何文件。他們都編譯就好了,如果我離開過像這樣從進口聲明「的myproject」:
from b import foo
import b
就像圖中,我肯定有一個頂級__init__.py,並且兩個myproject的文件夾及其父母在Python路徑上。 myproject文件夾也是該項目的源文件夾。
我需要完整的導入語句,因爲我部署此代碼的位置將不會在其路徑上具有myproject文件夾。一些似乎配置相同的其他項目沒有這個問題,我已經嘗試了通常的清理/重新啓動。
關於這裏發生了什麼的任何想法?
謝謝!
如果地方你deply代碼沒有自己的路徑上的myproject文件夾,'導入myproject.b'將失敗。 – BrenBarn
你真的得到一個編譯錯誤? Python不關心你所引用的模塊在編譯時是否存在,甚至在你運行它之前甚至不會編譯你的代碼。如果它是'ImportError',那不是編譯錯誤。 – user2357112
是的,我錯了。這是一個'ImportError'。 – piyo