2013-10-18 57 views
-1

我是python的新手,請有人幫助我從另一個包中導入類。而不是從另一個模塊。如何從另一個包中導入一個類

WorkFlowManager.py

from views.MainView import MainScreen 


class WorkFlow: 
    MainScreen() 

工作流類是下控制器包

MainScreen是視圖包和的MainView模塊下。

當我嘗試從mainview模塊和視圖包導入主屏幕。它拋出我下面的錯誤:

Traceback (innermost last): 
    File "WorkFlowManager.py", line 1, in ? 
ImportError: no module named views 
+0

有沒有在你的dir其中views.py生活在\ _ \ _ INIT \ _ \ _ PY文件?如果不。創建一個 –

+0

視圖是一個目錄。 –

+0

然後,views目錄應該有一個'__init __。py'。它不需要包含任何內容,但是爲了將python作爲包的一部分來檢測目錄,它需要具有'__init __。py'。 –

回答

1

確保您的views.py是存在於sys.path目錄。如果不是,最簡單的方法是將該目錄添加到您的PYTHONPATH

-1

該問題在您的Python路徑中看起來像。口譯員不知道意見。確保你導出你的Python路徑。在你的終端中有這樣的東西。

export PYTHONPATH="/Users/<user>/project_location" 

編輯:

使其永久添加到您的

~/.bashrc 
or 
~/.bashrc_profile 

export PYTHONPATH=$PYTHONPATH:/my/other/path 
+0

如果他想要它堅持下去會怎麼樣?如果他沒有使用mac,該怎麼辦? – Marcin

+0

我只使用mac –

+0

任何UNIX系統,對於linux的發行版都是一樣的。在Windows上加上python是垃圾 - 所以我假設最好。沒有必要討厭馬辛。 – actionseth