[Python-Dev] PEP 453 (pip bootstrapping) ready for pronouncement? (original) (raw)
Paul Moore p.f.moore at gmail.com
Fri Sep 27 16:26:41 CEST 2013
- Previous message: [Python-Dev] PEP 453 (pip bootstrapping) ready for pronouncement?
- Next message: [Python-Dev] PEP 453 (pip bootstrapping) ready for pronouncement?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 27 September 2013 15:08, Stephen J. Turnbull <stephen at xemacs.org> wrote:
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 I bet those users are not running third-party distros, but rather are sitting in front of pretty close to plain vanilla factory installs of the OS, no? And "new users" on Mac OS X already have "old installs" of Python, no?
Windows users who don't use a third-party distro like Enthought, generally download the python.org installer. At the moment, that doesn't give them a "pip" command. So if they want to install any third party package, they have to start by installing pip. The instructions for that are reasonably clear, but non-trivial, largely because tools like curl are not commonly available on Windows, and by default running a Python script may not do what you expect.
Rather than try to fix these problems (which are hard) the intent is to have the pip command installed by the python.org installer.
So, for Windows users, installing a package becomes "pip install XXX".
The problem is that this doesn't work for existing releases (2.7 and 3.3). Rather than have a convoluted set of instructions that goes "if you're not on Python 3.4+, (basically do what we have at the moment)" the PEP makes it possible to say "If you have a Python older than 3.4, upgrade to the latest maintenance release of your version of Python, then use pip". People who have reasons not to use the latest maintenance release are assumed to be special cases who can either deal with the more complex current process, or can work something out for themselves. (They may not be, but there's not much we can do in practice to help them).
Nobody in the basic target group should be running ensurepip (under any name) manually.
I can't speak for Linux distros or OSX users, but for Windows I do believe that this is a significant improvement, and worth the (IMO, negligible) risk involved in adding this to a maintenance release. There may be some mileage in a debate about why we don't just bundle pip in the installer, rather than having helpers in core Python itself, but the long & short of it is that ensurepip is needed for 3.4+ to make installing pip in venvs work by default, and why have a completely different and so less well tested mechanism for older versions?
Paul.
- Previous message: [Python-Dev] PEP 453 (pip bootstrapping) ready for pronouncement?
- Next message: [Python-Dev] PEP 453 (pip bootstrapping) ready for pronouncement?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]