PyCharm 测试出现:“ImportError: No module named nosetests”

4 投票
2 回答
3056 浏览
提问于 2025-04-17 15:23

这里提到的版本是 PyCharm 2.7,nosetests-script.py 版本 1.2.1,还有 Python 2.6.8,都是通过 Python(x,y)-2.7.3.0 安装的,操作系统是 Win7。

我可以在命令行中顺利运行 nosetest。但是,当我在 PyCharm 中设置一个 nosetests 的配置,并尝试运行或调试时,就出现了这个问题:

 C:\Python27\python.exe "C:\Program Files (x86)\JetBrains\PyCharm 2.7\helpers\pycharm\noserunner.py" nosetests
 Testing started at 4:59 PM ...

 Error
 Traceback (most recent call last):
  File "C:\Python27\lib\unittest\case.py", line 327, in run
    testMethod()
  File "C:\Python27\lib\site-packages\nose\loader.py", line 379, in loadTestsFromName
    module = resolve_name(addr.module)
  File "C:\Python27\lib\site-packages\nose\util.py", line 321, in resolve_name
    module = __import__('.'.join(parts_copy))
 ImportError: No module named nosetests

哦,对了,几版之前这个功能是能用的,但后来就不行了。有没有人知道怎么才能让它重新工作?

2 个回答

0

我遇到了和这个一样的错误:

/Users/kwu/my_projects/virtualenv-root/env_py/bin/python2.7 "/Applications/PyCharm CE.app/Contents/helpers/pycharm/_jb_nosetest_runner.py" --path /Users/kwu/my_projects/frontline/Account -- nosetests --cover-branches --with-coverage --cover-erase --cover-package=Account
测试在 13:16 开始 ... 启动 Nosetest,参数为 /Applications/PyCharm CE.app/Contents/helpers/pycharm/_jb_nosetest_runner.py /Users/kwu/my_projects/frontline/Account nosetests --cover-branches --with-coverage --cover-erase --cover-package=Account

Error
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/unittest/case.py", line 327, in run
    testMethod()
  File "/Users/kwu/my_projects/virtualenv-root/env_py/lib/python2.7/site-packages/nose/loader.py", line 407, in loadTestsFromName
    module = resolve_name(addr.module)
  File "/Users/kwu/my_projects/virtualenv-root/env_py/lib/python2.7/site-packages/nose/util.py", line 312, in resolve_name
    module = __import__('.'.join(parts_copy))
ImportError: No module named nosetests

这是因为我的运行配置有问题

我的运行配置

它把 nosetests 当成了一个选项。

我检查了一下,你也把 nosetests 当成了一个选项。

3

我在PyCharm的问题追踪系统里提交了一个错误报告,编号是 PY-8840。请在这个问题追踪系统里给它投票,这样你就可以收到相关的通知了。

撰写回答