繁体   English   中英

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

[英]Why do I get the error “Invalid command nosetests” when I run nosetests from my virtualenv?

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

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

.venv/bin/python setup.py nosetests

然后我做以下事情:

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

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

setup.py: error: Invalid command nosetests

setup.py包括以下设置:

setup_requires=[
    'nose>=1.0', 'nosexcover', 'coverage', 'selenium', 'fixture'
],
test_suite='nose.collector',

我特别困惑,因为它在每个版本中都是相同的setup.pysetup.cfg文件,并且据我所知,环境是相同的。

附录

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

我遇到了同样的问题并设法通过推杆修复它

setup_requires=['nose>=1.0']

进入我的setup.py文件。 之后,我可以使用Python setup.py nosetests选项。

一些有用的链接:

我从来没有完全弄清楚潜在的问题。 但我确实找到了一个允许我让我的构建运行的解决方法。 这是我在Jenkins的Virtualenv Builder中使用的命令:

# require nosetests be installed
# (old method using setup.py nosetests command does not work)
$VIRTUAL_ENV/bin/pip install nose

# install remain pip requirements
$VIRTUAL_ENV/bin/pip install -r requirements.pip

# must run this prior to running tests to install other nosetest dependencies
$VIRTUAL_ENV/bin/python setup.py install

# now we can run nosetests
# this does not work: $VIRTUAL_ENV/bin/python setup.py nosetests
$VIRTUAL_ENV/bin/nosetests -c setup.cfg

我怀疑根本问题与我的新virtualenv中虚拟环境的状态和Distutils和Nose之间的某种版本不兼容有关。 旧的似乎随着时间的推移已经达到了某种不稳定的配置,克隆和pip无法再创造。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM