Skip to content

Commit

Permalink
bpo-33290: Have macOS installer remove "pip" alias (GH-6683) (GH-6685)
Browse files Browse the repository at this point in the history
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".)
(cherry picked from commit 0dd8070)

Co-authored-by: Ned Deily <[email protected]>
  • Loading branch information
miss-islington and ned-deily committed May 2, 2018
1 parent dc5c92f commit 8ac4418
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions Mac/BuildScript/scripts/postflight.ensurepip
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@ umask 022

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

# bpo-33290: An earlier "pip3 install --upgrade pip" may have installed
# a "pip" in the fw bin directory. For a py3 install, remove it.

rm -f "${FWK}/bin/pip"

"${FWK}/bin/python${PYVER}" -E -s -Wi \
"${FWK}/lib/python${PYVER}/compileall.py" -q -j0 \
-f -x badsyntax \
Expand Down

0 comments on commit 8ac4418

Please sign in to comment.