[Python-checkins] bpo-33290: Have macOS installer remove "pip" alias (GH-6683) (GH-6684)

Ned Deily webhook-mailer at python.org
Wed May 2 01:44:02 EDT 2018


https://github.com/python/cpython/commit/1470e43076559d22518f2e8d704fa9426d2659dd
commit: 1470e43076559d22518f2e8d704fa9426d2659dd
branch: 3.7
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: Ned Deily <nad at python.org>
date: 2018-05-02T01:43:59-04:00
summary:

bpo-33290: Have macOS installer remove "pip" alias (GH-6683) (GH-6684)

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 0dd80709b5dc03756e7f4510761ae60236bb9f6d)

Co-authored-by: Ned Deily <nad at python.org>

files:
M Mac/BuildScript/scripts/postflight.ensurepip

diff --git a/Mac/BuildScript/scripts/postflight.ensurepip b/Mac/BuildScript/scripts/postflight.ensurepip
index 3074fa36fc0b..36d05945b6fd 100755
--- a/Mac/BuildScript/scripts/postflight.ensurepip
+++ b/Mac/BuildScript/scripts/postflight.ensurepip
@@ -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 \



More information about the Python-checkins mailing list