[Distutils] What does it mean for Python to "bundle pip"?
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.
More information about the Distutils-SIG