Hi,

What is a sensible way to work on (modify, compile, and test) numpy? 

There is documentation about "contributing to numpy" at:
http://docs.scipy.org/doc/numpy-dev/dev/index.html
and:
http://docs.scipy.org/doc/numpy-dev/dev/gitwash/development_workflow.html
but these are entirely focused on using git. I have no problem with that aspect. It is building and testing that I am looking for the Right Way to do.

My current approach is to build an empty virtualenv, pip install nose, and from the numpy root directory do "python setup.py build_ext --inplace" and "python -c 'import numpy; numpy.test()'". This works, for my stock system python, though I get a lot of weird messages suggesting distutils problems (for example "python setup.py develop", although suggested by setup.py itself, claims that "develop" is not a command). But I don't know how (for example) to test with python3 without starting from a separate clean source tree.

What do you recommend: use virtualenvs? Is building inplace the way to go? Is there a better way to run all tests? Are there other packages that should go into the virtualenv? What is the best way to test on multiple python versions? Switch cleanly between feature branches?

Surely I can't be the only person wishing for advice on a sensible way to work with an in-development version of numpy? Perhaps this would be a good addition to CONTRIBUTING.md or the website?

Thanks,
Anne