[Distutils] The future of invoking pip

Wolfgang Maier wolfgang.maier at biologie.uni-freiburg.de
Fri Nov 6 12:22:09 EST 2015

On 11/05/2015 10:08 PM, Donald Stufft wrote:
> * There is a lot of documentation out there in many projects that tell people
>    to use ``pip install ...``, the long tail on getting people moved to this
>    will be very long.

The deprecation period will probably have to be long, but the current 
situation is not so bad that you could not live with it for a bit longer.

> * It's more to type, 10 more characters on *nix and 6 more characters on
>    Windows which makes it more akward and annoying to use. This is particularly
>    annoying inside of a virtual environment where there isn't really any
>    ambiguity when one is activated.

I have no problem with the extra characters, just as I don't have a 
problem with typing: java -jar xy.jar

The extra typing might be annoying for the pypa devs, but remember that 
many regular users have to type this only once in a while when they 
install some new package. For them, its far more important that things 
work reliably than with the shortest possible command.

> * It still has the annoyance around having multiple pip installs all over the
>    place and needing to manage those.

Another experts problem. People who are just using "Python" and a few 
third-party packages are not suffering from this. Once they get to a 
level where they use multiple versions of python, they will be able to 
cope with the multiple pip installations.

> * We still support Python 2.6 which doesn't support executing a package only
>    modules via ``-m``. So we'll break Python 2.6 unless people do
>    ``python -m pip.__main__`` or we move pip/* to _pip/* and make a pip.py which
>    will break things for people using pip as a library (which isn't currently
>    supported).

How much longer are you planning to support Python 2.6? Why not just 
deprecate pip and pipX.Y (emit a warning to users) for newer versions of 
Python. Then once you drop Python 2.6 support remove pip and pipX.Y.

python -m pip ... may not read that beautifully, but if lack of beauty 
is the last remaining problem to Python packaging, then that's a reason 
to celebrate, isn't it.


More information about the Distutils-SIG mailing list