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