<p dir="ltr">On Sep 11, 2015 9:13 AM, "Chris Barker" <<a href="mailto:chris.barker@noaa.gov">chris.barker@noaa.gov</a>> wrote:<br>
><br>
> On Fri, Sep 11, 2015 at 3:40 AM, Nathaniel Smith <<a href="mailto:njs@pobox.com">njs@pobox.com</a>> wrote:<br>
[...]<br>
>><br>
>> The best / only correct way to install a package from source or a git checkout is 'pip install <source dir>'; never run setup.py directly.<br>
>><br>
>> (Yes, this is absurd, but I don't make the rules...)<br>
><br>
> Yeah, the separation of concerns of distutils, setuptools, pipi, etc is a big hairy mess.<br>
><br>
> But we *could* force, or at least encourage, the use of setuptools in the numpy build. The reason pip works is because it Monkey-patches setuptools into the install process.<br>
><br>
> Or maybe I'm am mis-informed - this is very tangled up!</p>
<p dir="ltr">pip monkeypatches setuptools into the install process... but first it monkeypatches setuptools to fix various weird behaviors. If you just use setuptools directly then you don't get the same thing as pip install.</p>
<p dir="ltr">Off the top of my head: setuptools will try to easy_install any dependencies, and setuptools will default to installing into a weird directory with a .pth file. I'm not sure that it records what files were installed either. OTOH does at least install .egg-info so that other tools can tell that your package is installed later.</p>
<p dir="ltr">It is a mess.</p>
<p dir="ltr">-n</p>