2011-05-18 113 views
0

我有一個模塊(Executive.py),我試圖導入到另一個模塊(ExecutiveTest.py)中。目錄結構如下所示:Python導入問題

src/ 
    common/ 
     python/ 
       Executive.py 
     tests/ 
       ExecutiveTest.py 

在ExecutiveTest.py,我有以下行:

from common.Executive import Executive 

我得到一個錯誤說:ImportError: No module named common.Executive

如何糾正這種錯誤的進口?

+6

爲什麼你說「common.Executive」時,這不是模塊的路徑? – 2011-05-18 19:58:28

+1

另請參閱軟件包文檔:http://docs.python.org/tutorial/modules.html#packages – 2011-05-18 19:59:38

回答

2

必須在包的根目錄中有一個__init__.py文件(它可以爲空)。另外,您的模塊層次結構必須反映目錄結構,因此pythontests也應該是導入的一部分。

+0

哪些模塊?執行測試還是ExecutiveTest? – Blade3 2011-05-18 20:00:03

1

我找到類似的帖子here。它看起來像你可以定義python在尋找要導入的東西時引用的路徑。例如:

sys.path.append()