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

Vinay Sajip vinay_sajip at yahoo.co.uk
Mon Aug 19 21:47:27 CEST 2013

Paul Moore <p.f.moore <at> gmail.com> writes:

> I'd like to propose that as a first step, we agree and document a *user 
interface* that will be officially supported going forward. It would be 
based on (a subset of) the pip interface, so that a "bundle pip" strategy is 
still the immediate way forward, but by standardising the interface rather 
than the implementation, we retain the option to change things behind the 
scenes if, for example, distil suddenly takes over the world.

Or even if it doesn't, we still want the flexibility to change things under 
the covers based on changing needs and what's available to meet them.

> 4. We may want to add a separate note that "python -m pip" will do the 
same as the "pip" command, and may be needed to self-upgrade the pip command 
("python -m pip -U pip").

Have we resolved the "unfortunate importability of scripts" issue?

> Does this sound reasonable? It may be obvious to everyone but me that this 
is what we're expecting - or I may even be proposing *more* than people 
expect. But I think something along the lines of an "interface over 
implementation" definition like this would be reasonable.

I think this is vital to allow use to manage future changes effectively. I'm 
not sure exactly how the bundling implementation is supposed to work, but in 
my view user programs should not be able to import pip, pkg_resources, 
setuptools etc. from the bundled locations - only from site-packages if they 
have actually been installed there. The interface you're describing should 
be at a CLI level only.


Vinay Sajip

More information about the Distutils-SIG mailing list