Issue 20139: Python installer does not install a "pip" command (just "pip3" and "pip3.4") (original) (raw)

Created on 2014-01-06 10:36 by paul.moore, last changed 2022-04-11 14:57 by admin. This issue is now closed.

Messages (7)
msg207423 - (view) Author: Paul Moore (paul.moore) * (Python committer) Date: 2014-01-06 10:36
The Python 3.4b2 installer for Windows does not install a "pip.exe" wrapper when the default options are selected. Only the "pip3.exe" and "pip3.4.exe" commands are provided. The documentation for ensurepip makes it clear that this is the default behaviour, but there is no comment in either the PEP or in "Python Setup and Usage" stating that this is what happens. Also, I imagine that people will expect a "pip" command to be available by default, so an explanation of *why* only the versioned commands are installed should be added. (It may be that having the unversioned command as well is actually the correct thing to do, on Windows if not on Unix - I can't recall the details of the discussion. If so, maybe the correct thing to do is to change the Windows installer behaviour).
msg207437 - (view) Author: Alyssa Coghlan (ncoghlan) * (Python committer) Date: 2014-01-06 14:31
This is deliberate - the unversioned command is only installed into virtual environments.
msg207438 - (view) Author: Paul Moore (paul.moore) * (Python committer) Date: 2014-01-06 14:57
Fair enough. Can the justification be recorded somewhere, please? It's inconsistent with most other Python commands on Windows. (I don't recall what the justification was, and can't come up with a search that locates the discussion thread).
msg207439 - (view) Author: Alyssa Coghlan (ncoghlan) * (Python committer) Date: 2014-01-06 15:02
I'm not sure we specifically considered the Windows case - we were avoiding the name collision with pip for Python 2 on POSIX systems. The decision on which names to install is actually made in pip itself, though, ensurepip just indicates what kind of install it is.
msg207440 - (view) Author: Paul Moore (paul.moore) * (Python committer) Date: 2014-01-06 15:09
It would not be impossible for the ensurepip call in the Windows installer to set the --default-pip flag, if that gives a better user experience on Windows. I'm not wedded to either answer myself, but given that versioned executable names are uncommon on Windows, I can easily imagine a series of bug reports saying "I asked for pip to be installed, and it's not there". Making a deliberate decision one way or the other and documenting it seems like the minimum reasonable approach.
msg211171 - (view) Author: Paul Moore (paul.moore) * (Python committer) Date: 2014-02-13 21:08
This is still the case in the 3.4rc0 Windows installer. Could we get something definite for 3.4 final? It may be too late for that to be anything other than documenting that the command "pip" is not available, but given that most 3rd party documents use "pip" as the command, it probably is worth being explicit.
msg211175 - (view) Author: Alyssa Coghlan (ncoghlan) * (Python committer) Date: 2014-02-13 21:41
Oops, missed this already existed when I created issue 20568. I currently plan to have this fixed for rc2 on the 23rd.
History
Date User Action Args
2022-04-11 14:57:56 admin set github: 64338
2014-02-13 21:41:09 ncoghlan set status: open -> closedsuperseder: Pass --default-install to ensurepip in the Windows installersresolution: duplicatemessages: +
2014-02-13 21:08:38 paul.moore set messages: +
2014-01-06 15:09:40 paul.moore set messages: +
2014-01-06 15:02:33 ncoghlan set messages: +
2014-01-06 14:57:29 paul.moore set messages: +
2014-01-06 14:31:10 ncoghlan set messages: +
2014-01-06 11:07:57 jkloth set nosy: + jkloth
2014-01-06 10:36:35 paul.moore create