Python 2.7 nosetests无法导入virtualenv的覆盖范围

Python 2.7 nosetests无法导入virtualenv的覆盖范围,python-2.7,virtualenv,nose,Python 2.7,Virtualenv,Nose,我已经在我的虚拟环境中安装了nose和coverage,但它不起作用 (venv) ../my_cookbook$ nosetests --with-coverage nose.plugins.cover: ERROR: Coverage not available: unable to import coverage module 我想知道它是不是从我的静脉中逃脱了,所以我试了一下,它成功了 (venv) ../my_cookbook$ ./venv/bin/nosetests --wit

我已经在我的虚拟环境中安装了
nose
coverage
,但它不起作用

(venv) ../my_cookbook$ nosetests --with-coverage

nose.plugins.cover: ERROR: Coverage not available: unable to import coverage module
我想知道它是不是从我的静脉中逃脱了,所以我试了一下,它成功了

(venv) ../my_cookbook$ ./venv/bin/nosetests --with-coverage
然后我想看看我的路是不是有点乱

(venv) ../my_cookbook$ which nosetests

/home/peter/Projects/my_cookbook/venv/bin/nosetests

(venv) ../my_cookbook$ which coverage

/home/peter/Projects/my_cookbook/venv/bin/coverage

这是怎么回事?不知何故,nosetests命令正在逃离我的virtualenv,但我不知道如何逃离。

不幸的是,我没有解释为什么nose插件没有获得覆盖率,但是,通过
覆盖率执行测试应该是首选,而不是使用测试运行器插件(在您的情况下是nose覆盖率插件)。(报道作者):

使用插件意味着您依赖于插件的行为是否正确和可理解。在帮助的名义下,插件将有自己的逻辑,这可能是编写插件时最好的想法,但测试运行程序和/或coverage.py在此期间可能发生了变化。插件的维护往往不如其他组件好。如果你能避开它们,你就少想一件事了

换句话说,运行:

$ coverage run -m nose
要获取报道,请执行以下操作:

$ coverage report 

作为旁注,它实际上应该是。非常有趣。。。那很好用。给我一个答案,我会把它排除在外,但我很乐意给你解释