[Python-Dev] PEP 453 (pip bootstrapping) ready for pronouncement?

Nick Coghlan ncoghlan at gmail.com
Thu Sep 26 06:39:40 CEST 2013

On 26 September 2013 11:52, Stephen J. Turnbull <stephen at xemacs.org> wrote:
> Donald Stufft writes:
>  > On Sep 25, 2013, at 7:04 PM, Barry Warsaw <barry at python.org> wrote:
>  >
>  > > So, why shouldn't we add enum to the Python 2.7 stdlib?  Or any
>  > > other new feature?  Just be aware that if this PEP is accepted
>  > > for Python 2.7, the bar will be set much lower for other Really
>  > > Useful Features That Make Users Lives Better.
>  >
>  > Because with PEP453 you can just ``pip install enum34`` it :)
> Uh, I've been doing that for years (well, not with ``enum34``, to be
> sure).  And not just with 2.7, 2.6 and 2.5 too.  Who needs PEP 453?
> Not me (ironically, I'll probably have a PEP 453 Python within 48
> hours of its public release).

New users on Windows and Mac OS X. I've heard many more complaints
from folks running tutorials about the pip bootstrapping process than
I ever have from the community at large about the GIL :P

Linux and other *nix platforms are affected primarily due to the fact
that we also want pyvenv to start making pip available by default in
3.4+, so we need the PEP to account for making that possible while
still playing nice with the Linux distro vendors.

> OTOH, as Barry points out, the target population doesn't upgrade very
> often.

If somebody already has Python installed, they're not really part of
the target population, except in the sense that the pip bootstrap
instruction become "upgrade Python to the latest maintenance release"
rather than "got to this website, download and run this bootstrap
script". (Keeping those instructions consistent for 3.3 users as well
would be the advantage of updating 3.3 in addition to 2.7 and 3.4)

> What gets them to upgrade (or install in parallel) is the
> installation of a package that requires an upgraded Python.  But that
> typically means a bump from x.y to x.z, and that will never happen to
> 2.7.  So they'll see a failure of some kind anyway if the ensurepip
> feature is used!  That is going to blowback on distributors, which is
> going to make PEP 453 real popular with them.  Not.

I'm not sure what usage model you're assuming for _ensurepip, but it
appears to be wrong. End users should be able to just run pip, and
either have it work, or else get a message from the OS vendor telling
them to install the appropriate system package. If it doesn't work,
then the advice will be to upgrade to the latest Python maintenance


Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia

More information about the Python-Dev mailing list