Skip to content

Commit 0dd8070

Browse files
authored
bpo-33290: Have macOS installer remove "pip" alias (GH-6683)
Currently, "pip3 install --upgrade pip" unconditionally installs a "pip" alias even for Python 3. If a user has an existing Python 3.x installed from a python.org macOS installer and then subsequently manually updates to a new version of pip, there may now be a stray "pip" alias in the Python 3.x framework bin directory which can cause confusion if the user has both a Python 2.7 and 3.x installed; if the Python 3.x fw bin directory appears early on $PATH, "pip" might invoke the pip3 for the Python 3.x rather than the pip for Python 2.7. To try to mitigate this, the macOS installer script for the ensurepip option will unconditionally remove "pip" from the 3.x framework bin directory being updated / installed. (The ambiguity can be avoided by using "pythonx.y -m pip".)
1 parent 69a013e commit 0dd8070

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

Mac/BuildScript/scripts/postflight.ensurepip

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ umask 022
1212

1313
"${FWK}/bin/python${PYVER}" -E -s -m ensurepip --upgrade
1414

15+
# bpo-33290: An earlier "pip3 install --upgrade pip" may have installed
16+
# a "pip" in the fw bin directory. For a py3 install, remove it.
17+
18+
rm -f "${FWK}/bin/pip"
19+
1520
"${FWK}/bin/python${PYVER}" -E -s -Wi \
1621
"${FWK}/lib/python${PYVER}/compileall.py" -q -j0 \
1722
-f -x badsyntax \

0 commit comments

Comments
 (0)