[Distutils] What does it mean for Python to "bundle pip"?

Paul Moore p.f.moore at gmail.com
Mon Aug 19 23:43:13 CEST 2013


On 19 August 2013 22:21, Donald Stufft <donald at stufft.io> wrote:

> My current draft explicitly ensures that the end result is the same as if
> someone installed pip manually. There will be no importable pip from the
> standard library.
>

OK, in which case I think you need to explain in the PEP why this is a
benefit compared to users just manually installing pip by hand. In
particular "why doesn't pip just supply getpip.py for download?"

You also need to address the fact that installing pip (whether by hand or
via the bootstrap) on Windows, does not normally make the pip command
available (because Python34\Scripts is not on %PATH%). Benefits: install
process matches the current one, disadvantages: all user documentation
needs to add some level of verbiage about how to add pip to %PATH%.

It also specifically excludes pip from the backwards compat and other
> governance related issues of CPython.
>

I agree with this, but I think we should offer some core stability
guarantees - even if it's only that "python -m pip install X" will install
X... At the moment, the PEP doesn't really offer any tangible benefits for
the end user.

I'm not sure if it's the place of this PEP, but *something* needs to
document the reasons why we are even proposing that pip gets bundled with
Python. From an end user perspective, the immediate impression is that
everything's going to be hugely better, because we'll have a package
manager that can install, upgrade, uninstall, etc, built into Python. From
there on, however, the picture is one of a series of little disappointments
- "I need to explicitly bootstrap. Oh, OK.", "And now I have to set PATH.
Yech, but fair enough". "And wait, the interface isn't stable? What?"[1]

The various technical issues have started to obscure the original
user-facing reasons why we want to do this at all. If we don't document
those reasons, we risk ending up with a technical solution that doesn't
actually address the original issue. Which would be a shame.

I can understand if Donald feels that the original rationale isn't
something he wants to cover (I don't know if he was involved in the
discussions - IIRC, they were at PyCon, and I know for example that *I*
don't have a clear picture of all the details, as I wasn't there...) Maybe
Nick would be better placed to ad a "Why are we doing this?" section.

This is an outdated draft, it needs updated which once I have time in the
> next few days i'll update it and post it but this is my draft
> https://github.com/dstufft/peps/blob/master/pip-bundling.rst
>

I hope the above is useful, and not out of date with where you plan on
going with your updates. Apologies if I'm jumping the gun here.

Paul.

[1] Yes, I know it is stable - but the docs will say "not covered by Python
stability guarantees" which gives the *impression* "not stable" :-(
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20130819/c50f9ab3/attachment-0001.html>


More information about the Distutils-SIG mailing list