1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Fixes #1253: Improved upgrade.sh to allow forcing Python2

This commit is contained in:
Jeremy Stretch
2017-06-09 12:13:47 -04:00
parent 7878992570
commit 0a929f2971
2 changed files with 26 additions and 6 deletions

View File

@ -52,6 +52,13 @@ Once the new code is in place, run the upgrade script (which may need to be run
# ./upgrade.sh # ./upgrade.sh
``` ```
!!! warning
The upgrade script will prefer Python3 and pip3 if both executables are available. To force it to use Python2 and pip, use the `-2` argument as below.
```no-highlight
# ./upgrade.sh -2
```
This script: This script:
* Installs or upgrades any new required Python packages * Installs or upgrades any new required Python packages

View File

@ -5,6 +5,25 @@
# Once the script completes, remember to restart the WSGI service (e.g. # Once the script completes, remember to restart the WSGI service (e.g.
# gunicorn or uWSGI). # gunicorn or uWSGI).
# Determine which version of Python/pip to use. Default to v3 (if available)
# but allow the user to force v2.
PYTHON="python3"
PIP="pip3"
type $PYTHON >/dev/null 2>&1 && type $PIP >/dev/null 2>&1 || PYTHON="python" PIP="pip"
while getopts ":2" opt; do
case $opt in
2)
PYTHON="python"
PIP="pip"
echo "Forcing Python/pip v2"
;;
\?)
echo "Invalid option: -$OPTARG" >&2
exit
;;
esac
done
# Optionally use sudo if not already root, and always prompt for password # Optionally use sudo if not already root, and always prompt for password
# before running the command # before running the command
PREFIX="sudo -k " PREFIX="sudo -k "
@ -20,12 +39,6 @@ COMMAND="${PREFIX}find . -name \"*.pyc\" -delete"
echo "Cleaning up stale Python bytecode ($COMMAND)..." echo "Cleaning up stale Python bytecode ($COMMAND)..."
eval $COMMAND eval $COMMAND
# Prefer python3/pip3
PYTHON="python3"
type $PYTHON >/dev/null 2>&1 || PYTHON="python"
PIP="pip3"
type $PIP >/dev/null 2>&1 || PIP="pip"
# Install any new Python packages # Install any new Python packages
COMMAND="${PREFIX}${PIP} install -r requirements.txt --upgrade" COMMAND="${PREFIX}${PIP} install -r requirements.txt --upgrade"
echo "Updating required Python packages ($COMMAND)..." echo "Updating required Python packages ($COMMAND)..."