问题
When run a test with python mycore/tests4extractor.py
it works. If run the test with nosetests ./mycore/tests4extractor.py
it fails with ImportError: No module named extractor
. I am in the helpers
folder.
The project structure is:
helpers/
mycore/
__init__.py
extractor.py
tests4extractor.py
Setting PYTHONPATH to the absolute path to helpers
and/or helpers/mycore
doesn't help.
Answer
tests4extractor.py:
import mycore
from extractor import extract
should be changed to:
import mycore
from mycore.extractor import extract
And python should be run with python -mmycore.tests4_strings
回答1:
Does tests4extractor.py
contain import extractor
?
Because mycore
is a package, you need to use absolute imports:
from mycore import extractor
or relative imports:
from . import extractor
来源:https://stackoverflow.com/questions/9429202/a-test-running-with-nosetests-fails-with-importerror-but-works-with-python-comm