Why do I get the error "Invalid command nosetests" when I run nosetests from my virtualenv?

nose, python, virtualenv

Solution

I ran into the same problem and managed to fix it by putting

setup_requires=['nose>=1.0']

Into my `setup.py` file. After that the Python `setup.py nosetests` option was available to me.

Some links that were helpful:

- https://nose.readthedocs.org/en/latest/setuptools_integration.html

- https://nose.readthedocs.org/en/latest/api/commands.html

Problem

I first noticed the problem with this project when I loaded it into Jenkins. More puzzlingly, I've been able to reproduce it as follows: In original version of the project, the following command runs tests as expected: ``` .venv/bin/python setup.py nosetests ``` I then do the following: - Clone project: hg clone my-project my-project-clone - Create virtualenv `.venv` in clone - Install requirements from cloned pip freeze file If I then run `.venv/bin/python setup.py nosetests` on this version and I get the following result: ``` setup.py: error: Invalid command nosetests ``` `setup.py` includes the following settings: ``` setup_requires=[ 'nose>=1.0', 'nosexcover', 'coverage', 'selenium', 'fixture' ], test_suite='nose.collector', ``` I'm especially baffled because it's the same `setup.py` and `setup.cfg` files in each version and, as far as I been able to discern, the environments are identical. Addendum I noticed this Stack Overflow question in the sidebar, which looks closely related, but none of the solutions offered there are working in my case.

Original source

Related problems