2013-01-17 73 views
0

我有一個文件夾結構如下所示:如何從子目錄訪問模塊在Python

/mylib/ 
/mylib/__init__.py 
/mylib/my_class.py 
/mylib/tests/test_my_lib.py 

在我的測試,我有:

from mylib import MyClass 
import unittest 

我越來越:

File "test_edgecast_mcc_client.py", line 1, in <module> 
    from mylib import MyClass 
ImportError: No module named mylib 

哪一個,我認爲是有道理的,因爲導入會在mylib的測試目錄內查找,當它應該在../mylib中查找時?

任何人都可以分享一些關於如何讓導入正常工作的燈光?

+0

是'mylib':您可以使用這樣的事情從你的test_my_lib.py做? – BrenBarn

回答

1

我相信你的測試包需要一個__init__.py文件太

0

添加主目錄$PYTHONPATH

import sys 
import os.path 

d = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 

sys.path.insert(0, d) 
0

嘗試使用此命令行,看看是否能消除你的Python模塊搜索路徑上的錯誤

export PYTHONPATH="$PYTHONPATH:/path/to/mylib/"