我看到這個問題以前已經被問過了,但我仍然試圖讓我的頭腦與Python模塊的工作。 我的應用程序有一個非常基本結構:一般Python模塊
app/
__init__.py
driver.py
dbloader/
__init__.py
loader.py
兩個__init__.py
文件是空的。 driver.py
只有一個類驅動程序()和loader.py
中有唯一的類加載器()
因此,爲了測試這個設置,cd
到應用程序/目錄裏面。從這裏我開始一個python shell。然後我嘗試:
import dbloader
哪些工作(即沒有錯誤)。但是,我試過每個排列來實例化loader.py
內的Loader()都無濟於事。我已經試過的人的一些的是:
from dbloader import loader
from dbloader.loader import Loader
我也試過
進口只是dbloader然後試圖實例如下:
import dbloader
l = dbloader.Loader()
一切都無濟於事。我相信在其他地方閱讀當前目錄和子目錄在執行python shell時會自動包含在pythonpath中(這是真的嗎?)
無論如何,任何幫助都將不勝感激。
當你輸入dbloader時 l = dbloader.Loader(),你會得到什麼錯誤? –
我不知道爲什麼你看到你的兩個解決方案的問題:'從dbloader導入加載器'和'從dbloader.loader導入加載器'。第一個應該提供'Loader'作爲'loader.Loader',第二個應該是'Loader'。你可以發佈堆棧跟蹤嗎? – Darthfett
Niek和Darth,我得到的錯誤是'無法導入名稱加載器',但它已被修復,因爲遵循了Daniel以下的建議,看起來與我已經在做的事情類似,所以它可能是一個糟糕的例子肥胖的手指。 – rdodev