当我从virtualenv运行nosetests时,为什么会出现"无效的命令nosetests"错误?

kle*_*ell 5 python nose virtualenv

当我把它加载到Jenkins时,我首先注意到这个项目的问题.更令人费解的是,我已经能够重现如下:

在项目的原始版本中,以下命令按预期运行测试:

.venv/bin/python setup.py nosetests
Run Code Online (Sandbox Code Playgroud)

然后我做以下事情:

  1. 克隆项目:hg clone my-project my-project-clone
  2. .venv在克隆中创建virtualenv
  3. 从克隆的pip冻结文件安装需求

如果我然后运行.venv/bin/python setup.py nosetests此版本,我得到以下结果:

setup.py: error: Invalid command nosetests
Run Code Online (Sandbox Code Playgroud)

setup.py 包括以下设置:

setup_requires=[
    'nose>=1.0', 'nosexcover', 'coverage', 'selenium', 'fixture'
],
test_suite='nose.collector',
Run Code Online (Sandbox Code Playgroud)

我特别感到困惑,因为它setup.pysetup.cfg每个版本中的文件相同,并且就我所能看出来而言,环境是相同的.

附录

我在边栏中注意到这个Stack Overflow问题,它看起来非常相关,但是我提供的解决方案都没有.

小智 2

我遇到了同样的问题并设法通过放置来解决它

setup_requires=['nose>=1.0']
Run Code Online (Sandbox Code Playgroud)

进入我的setup.py档案。之后setup.py nosetests我就可以选择Python了。

一些有用的链接: