2012-02-24 40 views
1

運行python mycore/tests4extractor.py測試時,它可以正常工作。如果使用nosetests ./mycore/tests4extractor.py運行測試,則會失敗,並顯示ImportError: No module named extractor。我在helpers文件夾中。使用鼻子測試運行的測試失敗,導致錯誤,但使用python命令

這個項目的結構:

helpers/ 
    mycore/ 
     __init__.py 
     extractor.py 
     tests4extractor.py 

設置PYTHONPATH的絕對路徑helpers和/或helpers/mycore沒有幫助。

回答

tests4extractor.py:

import mycore 
    from extractor import extract 

應改爲:

import mycore 
    from mycore.extractor import extract 

和Python應該python -mmycore.tests4_strings

回答

2

運行是否tests4extractor.py包含import extractor

因爲mycore是一個包,你需要使用絕對導入:

from mycore import extractor 

或相對進口:

from . import extractor 
+0

你是對的!我將更新問題以包含代碼片段。 – Ayrat 2012-02-24 14:21:14

+0

嗯,在更新後python失敗了,類似'ImportError:No module named mycore'。但鼻子測試工作。 – Ayrat 2012-02-24 14:44:28

+0

爲了讓Python工作,我不得不使用'python -mmycore.tests4_strings' – Ayrat 2012-02-24 14:55:17

相關問題