[Python-ideas] High time for a builtin function to manage packages (simply)?

Ben Finney ben+python at benfinney.id.au
Wed Sep 9 09:33:57 CEST 2015

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

> On 5 September 2015 at 09:30, Nick Coghlan <ncoghlan at gmail.com> wrote:
> > Unfortunately, I've yet to convince the rest of PyPA (let alone the
> > community at large) that telling people to call "pip" directly is *bad
> > advice* (as it breaks in too many cases that beginners are going to
> > encounter), so it would be helpful if folks helping beginners on
> > python-list and python-tutor could provide feedback supporting that
> > perspective by filing an issue against
> > https://github.com/pypa/python-packaging-user-guide
> I would love to see "python -m pip" (or where the launcher is
> appropriate, the shorter "py -m pip") be the canonical invocation used
> in all documentation, discussion and advice on running pip.

Contrariwise, I would like to see ‘pip’ become the canonical invocation
used in all documentation, discussion, and advice; and if there are any
technical barriers to that least-surprising method, to see those
barriers addressed and removed.

> The main problems seem to be (1) "but just typing "pip" is shorter and
> easier to remember",

With the concomitant benefit that it's easier to teach and learn. This
is not insignificant.

> (2) "I don't understand why pip can't just be a normal command"

This is my main objection, but rather stated as: We already have a
firmly-established naming convention for user-level commands, that works
in a huge number of languages; Python has no good reason to be an
exception, especially not in one of the first commands that new users
will need to encounter.

If something is preventing ‘pip’ from being the command to type to run
Pip, then surely the right place to apply pressure is not on everyone
who instructs and documents and interfaces with end-users now and
indefinitely; but instead on whatever is preventing the One Obvious Way
to work. No?

 \      “Yesterday I saw a subliminal advertising executive for just a |
  `\                                           second.” —Steven Wright |
_o__)                                                                  |
Ben Finney

More information about the Python-ideas mailing list