You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
it seems that matplotlib by default now pulls dependencies for testing, such as nose and mock. While this might be handy for a matplotlib developer, I think this should not be the default for a matplotlib user.
I think the more canonical behaviour would be to install matplotlib (with its tests even) and then let the user install nose and test if they want to run the tests.
I would be willing to contribute a pull request removing the nose and mock from the list of install requirements.
The more common pattern is to make nose, mock "extra" dependencies in the setuptools sense (as in pip install matplotlib[test]) - see the IPython setup.py and supporting functions for an example.
"extra" dependencies seem to be deprecated. I would suggest that we use tests_require to specify the test dependencies and then register a TestCommand in the setup.py. This means that upon running python setup.py test, the test requirements are installed not in the virtual environment, but as eggs in the local folder.
python setup.py test would be the standard way to invoke the nosetests (i.e. take the role of today's ./tests.py)
@HolgerPeters My understanding of the history of our setup.py and test suite is that they pre-dated many of today's standard best practices/tools and grew organically over time. This has resulted in something that works, but is a bit Frankenstein like, even by the standards of python + c-extension packaging.
If you would like to take a crack at cleaning up/modernizing/making sane the build scripts please go for it!
On the radar is also to make sure we have a working conda recipe in our repo.
Activity
matthew-brett commentedon Oct 15, 2014
The more common pattern is to make nose, mock "extra" dependencies in the setuptools sense (as in
pip install matplotlib[test]) - see the IPythonsetup.pyand supporting functions for an example.HolgerPeters commentedon Oct 16, 2014
"extra" dependencies seem to be deprecated. I would suggest that we use tests_require to specify the test dependencies and then register a TestCommand in the setup.py. This means that upon running
python setup.py test, the test requirements are installed not in the virtual environment, but as eggs in the local folder.python setup.py testwould be the standard way to invoke the nosetests (i.e. take the role of today's./tests.py)tacaswell commentedon Oct 16, 2014
@HolgerPeters My understanding of the history of our setup.py and test suite is that they pre-dated many of today's standard best practices/tools and grew organically over time. This has resulted in something that works, but is a bit Frankenstein like, even by the standards of python + c-extension packaging.
If you would like to take a crack at cleaning up/modernizing/making sane the build scripts please go for it!
On the radar is also to make sure we have a working conda recipe in our repo.
QuLogic commentedon Aug 13, 2015
This was fixed by #4188/#4668, no?
jenshnielsen commentedon Aug 13, 2015
Yes they are no longer installed automatically