使用noseError运行的测试因ImportError而失败,但与python命令一起使用

时间:2012-02-24 10:30:57

标签: python-3.x pythonpath nosetests

使用python mycore/tests4extractor.py运行测试时,它可以正常工作。如果使用nosetests ./mycore/tests4extractor.py运行测试,则会失败并显示ImportError: No module named extractor。我在helpers文件夹中。

项目结构是:

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

运行

1 个答案:

答案 0 :(得分:2)

tests4extractor.py是否包含import extractor

因为mycore是一个包,所以你需要使用绝对导入:

from mycore import extractor

或相对进口:

from . import extractor