[Distutils] PEP 438, pip and --allow-external (was: "pip: cdecimal an externally hosted file and may be unreliable" from python-dev)

Paul Moore p.f.moore at gmail.com
Mon May 12 23:39:22 CEST 2014


On 12 May 2014 17:15, Stefan Krah <stefan-usenet at bytereef.org> wrote:
> Paul Moore <p.f.moore at gmail.com> wrote:
>> I'm not quite sure how you expect this will work, but it's probably
>> important that you get involved with the various packaging PEPs. The
>> only way I can see such a solution working with pip would be if you
>> have a customised setup.py. As the general trend is towards binary
>> installs using wheels, with pip eventually deprecating sdist installs
>> and running setup.py directly,
>
> To me that sounds like a lot of work for many package authors. Is it
> possible to reconsider the deprecation?

MAL also commented on this. Taking this point any further is going to
derail the current discussion so I propose that we don't go into any
more details just now. But I note your concern and will make sure you
and MAL are brought into any discussion well before anything gets
implemented.

One thing I will say is that as far as I am aware, a significant
majority of packages already support "pip wheel" with no action needed
from the authors. The proposal is little more than automating the
current 2-step manual process that's needed.

Outstanding points:

1. Projects need to either use setuptools, or at least not conflict
with setuptools if pip injects it into setup.py. That's not a battle I
want to fight over pip - whether setuptools is the de facto standard
distutils extension has been debated endlessly and I'm pretty sure
it's a done deal by now. I'm pretty sure that Nick, for example, has
been involved in discussions where he's supported that stance, and
while I don't know about others, I took his view as being (at least to
some extent) "on behalf of" python-dev. (Apologies Nick if I'm
misrepresenting you). Ultimately, pip's going to have a hard time
working with a package that won't tolerate setuptools injection, and
if that's a problem then so be it.

2. For a minority of projects, pre and post install scripts might be
needed when installing wheels. That's coming in Metadata 2.0.

Let's table any further discussion on this for now. I will make sure
that doing so doesn't mean your views (and MAL's) get missed.

Paul


More information about the Distutils-SIG mailing list