2013-11-23 07:25:43 +01:00
|
|
|
#!/bin/sh
|
|
|
|
#
|
|
|
|
# Install/upgrade pip.
|
|
|
|
#
|
|
|
|
|
|
|
|
PYVER="@PYVER@"
|
2014-11-15 03:55:05 +01:00
|
|
|
PYMAJOR="@PYMAJOR@"
|
2013-11-23 07:25:43 +01:00
|
|
|
FWK="/Library/Frameworks/Python.framework/Versions/${PYVER}"
|
|
|
|
RELFWKBIN="../../..${FWK}/bin"
|
|
|
|
|
|
|
|
umask 022
|
|
|
|
|
2015-07-04 08:53:51 +02:00
|
|
|
"${FWK}/bin/python${PYVER}" -E -s -m ensurepip --upgrade
|
2013-11-23 07:25:43 +01:00
|
|
|
|
2018-05-02 07:30:33 +02:00
|
|
|
# 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"
|
|
|
|
|
2015-07-04 08:53:51 +02:00
|
|
|
"${FWK}/bin/python${PYVER}" -E -s -Wi \
|
|
|
|
"${FWK}/lib/python${PYVER}/compileall.py" -q -j0 \
|
2013-11-23 07:25:43 +01:00
|
|
|
-f -x badsyntax \
|
|
|
|
"${FWK}/lib/python${PYVER}/site-packages"
|
|
|
|
|
2015-07-04 08:53:51 +02:00
|
|
|
"${FWK}/bin/python${PYVER}" -E -s -Wi -O \
|
|
|
|
"${FWK}/lib/python${PYVER}/compileall.py" -q -j0 \
|
2013-11-23 07:25:43 +01:00
|
|
|
-f -x badsyntax \
|
|
|
|
"${FWK}/lib/python${PYVER}/site-packages"
|
|
|
|
|
|
|
|
chgrp -R admin "${FWK}/lib/python${PYVER}/site-packages" "${FWK}/bin"
|
|
|
|
chmod -R g+w "${FWK}/lib/python${PYVER}/site-packages" "${FWK}/bin"
|
|
|
|
|
|
|
|
# We do not know if the user selected the Python command-line tools
|
|
|
|
# package that installs symlinks to /usr/local/bin. So we assume
|
|
|
|
# that the command-line tools package has already completed or was
|
|
|
|
# not selected and we will only install /usr/local/bin symlinks for
|
|
|
|
# pip et al if there are /usr/local/bin/python* symlinks to our
|
|
|
|
# framework bin directory.
|
|
|
|
|
|
|
|
if [ -d /usr/local/bin ] ; then
|
|
|
|
(
|
2014-11-15 03:55:05 +01:00
|
|
|
install_links_if_our_fw() {
|
|
|
|
if [ "$(readlink -n ./$1)" = "${RELFWKBIN}/$1" ] ; then
|
|
|
|
shift
|
|
|
|
for fn ;
|
|
|
|
do
|
|
|
|
if [ -e "${RELFWKBIN}/${fn}" ] ; then
|
|
|
|
rm -f ./${fn}
|
|
|
|
ln -s "${RELFWKBIN}/${fn}" "./${fn}"
|
|
|
|
chgrp -h admin "./${fn}"
|
|
|
|
chmod -h g+w "./${fn}"
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2013-11-23 07:25:43 +01:00
|
|
|
cd /usr/local/bin
|
2014-11-15 03:55:05 +01:00
|
|
|
|
2013-11-23 07:25:43 +01:00
|
|
|
# Create pipx.y and easy_install-x.y links if /usr/local/bin/pythonx.y
|
|
|
|
# is linked to this framework version
|
2014-11-15 03:55:05 +01:00
|
|
|
install_links_if_our_fw "python${PYVER}" \
|
|
|
|
"pip${PYVER}" "easy_install-${PYVER}"
|
|
|
|
|
2013-11-23 07:25:43 +01:00
|
|
|
# Create pipx link if /usr/local/bin/pythonx is linked to this version
|
2014-11-15 03:55:05 +01:00
|
|
|
install_links_if_our_fw "python${PYMAJOR}" \
|
|
|
|
"pip${PYMAJOR}"
|
|
|
|
|
|
|
|
# Create pip and easy_install link if /usr/local/bin/python
|
|
|
|
# is linked to this version
|
|
|
|
install_links_if_our_fw "python" \
|
|
|
|
"pip" "easy_install"
|
2013-11-23 07:25:43 +01:00
|
|
|
)
|
|
|
|
fi
|
|
|
|
exit 0
|