wow! a really long thread here. Trying not to duplicate too much. I am coming primarily from the perspective of someone that teaches python to beginners (I'm also a user and package developer, but I, myself, can deal with any of these options...)
My perspective as a user of pip, but not a developer, is that having the > command line executable `pip` is much preferable to `python -m pip`. Most > of the use cases that militate against the command line executable seem to > be issues that face developers and ultra-power-users (keeping track of many > versions of pip installed, etc). > This is absolutely not true -- the ultra-power-users (am I one of those? -- cool! I need to find a good use for that ultra power!) understand these complexities and can deal with them. the real losers ar newbies that have, for one reason or another, multiple pythons on their system. Both Linux and OS-Z tend to have system installed pythons, and it is very, very common that a user needs (maybe for a class, or ...) to install a different one when they are still rank beginners. Also, people who are new to python coding have very different backgrounds with the CLI, and manipulating PATH, and all that. so I think the target user is someone that is new to both python and CLI use, and also has more than one version of python in their system. As it happens, I am in the middle of a intro class that's using python3.4 or 3.5 right now -- and I am telling everyone to do: python3 -m pip install Yes, plain old "pip install" is nicer, but only a little bit, and the biggest reason we really, really want that to still work is that there are a LOT of instructions all over the web telling people to do that -- so really too bad if it doesn't work! But the reality is that it often DOESN'T work now! and when it doesn't newbies really have no idea why in the heck not! personally, I think the best approach is to deprecate plain old "pip install" -- if it's not there as an option, I expect no one will find it odd that to install something for python, you might use python to do that! which brings up an idea -- to make it clean, why not really integrate "ensurepip" into python: python --install some_package It will take a long time to propagate through the versions and installs, but doesn't it make sense that the officially supported package installer actually be invoked directly from python? But many casual users, I think, just have one version of python/pip > installed, and benefit from having the easy-to-call executable. > I suppose it's not so bad that in the case of one python, that pip install just works. They're also the least capable of adding new script wrappers and bash > aliases. > absolutely --- that should inly be required for us "ultra-power-users" :-) glyph wrote: > Rather than trying to figure out what the "right" way for users to invoke > `pip´ to begin with is, why not just have Pip start providing more > *information* about potential problems when you invoke it? > This is a great idea! we will be stuck with users expecting "pip install" to work for a long time. If they at least get a helpful hint that something weird is going on -- that would help a lot. And this wourl require only changes to pip itself, no changes to documentation the world over. We should do this in the interim, regardless of other paths forward. I've lost track of the technical details on the option to have a self-contained pip executable -- so no comment there. -Chris -- Christopher Barker, Ph.D. Oceanographer Emergency Response Division NOAA/NOS/OR&R (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception chris.bar...@noaa.gov
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig