On Tue, Oct 27, 2015 at 8:28 AM, Nathaniel Smith <njs@pobox.com> wrote:
On Tue, Oct 27, 2015 at 12:19 AM, Ralf Gommers <ralf.gommers@gmail.com> wrote:
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.
IIUC this is not something that we (= numpy) could use ourselves, but instead something that everyone who does setup_requires=["numpy"] would have to set up in their individual projects?
Right. I was thinking about using it in scipy. Ah well, I'm sure we can manage to not break ``setup_requires=numpy`` in some way. Ralf