On Tue, Oct 27, 2015 at 6:44 AM, Nathaniel Smith <njs@pobox.com> wrote:
On Mon, Oct 26, 2015 at 9:31 PM, Nathaniel Smith <njs@pobox.com> wrote: [...]
I believe that this would also break both 'easy_install numpy', and attempts to install numpy via the setup_requires= argument to setuptools.setup (because setup_requires= implicitly calls easy_install). install_requires= would *not* be affected, and setup_requires= would still be fine in cases where numpy was already installed.
On further investigation, it looks like the simplest approach to doing this would actually treat easy_install and setup_requires= the same way as they treat pip, i.e., they would all be allowed. (I was misreading some particularly confusing code in setuptools.)
It also looks like easy_installed packages can at least be safely upgraded, so I guess allowing this is okay :-).
I just discovered https://bitbucket.org/dholth/setup-requires, which ensures that setup_requires uses pip instead of easy_install. So we can not only keep setup-requires working, but make it work significantly better. So if/when we accept the proposal in this thread, I'm thinking we should make a bunch of changes at once: - always use setuptools (this is a new dependency) - error on ``python setup.py install`` - add the setup-requires trick - error on ``python setup.py clean`` (saying "use `git clean -xdf` (or -Xdf ...) instead") - change ``python setup.py --help`` to first show numpy-specific stuff before setuptools help info - update all our install docs And when "pip upgrade" is released (should be soon, see https://github.com/pypa/pip/pull/3194), officially change our mind and recommend the use of install_requires/setup_requires to packages depending on numpy. Ralf