Skip to content

Instantly share code, notes, and snippets.

@karolyi
Last active September 13, 2020 16:54
Show Gist options
  • Save karolyi/6ac90d0bbc6c015526d8e81d0b14f794 to your computer and use it in GitHub Desktop.
Save karolyi/6ac90d0bbc6c015526d8e81d0b14f794 to your computer and use it in GitHub Desktop.
Script to update all PIP packages to latest version, with a user installed PIP
#!/usr/bin/env sh
# Packages necessary on ubuntu: python3-pip
USED_PYTHON_BINARY="python3.7"
set -x
# Install/update basic package handling tools
$USED_PYTHON_BINARY -m pip install --user -U pip wheel setuptools
# Update venv
$USED_PYTHON_BINARY -m venv --system-site-packages --without-pip venv
set +x
if [ "$VIRTUAL_ENV" = "" ]; then
. venv/bin/activate
fi
set -x
# Install user tools
$USED_PYTHON_BINARY -m pip install --user -U pyls-isort 'python-language-server[autopep8]' 'python-language-server[pyflakes]' 'python-language-server[pycodestyle]' 'python-language-server[rope]' 'python-language-server[mccabe]' jedi autopep8 pycodestyle pyflakes isort radon ipdb pudb ipython pipdeptree mccabe flake8 flake8-polyfill
# Update user tools and their dependencies
$USED_PYTHON_BINARY -m pip freeze --user | grep --color=auto -v '^\-e' | cut -d = -f 1 | xargs $USED_PYTHON_BINARY -m pip install --user -U
# Install local packages
$USED_PYTHON_BINARY -m pip install -r backend/requirements.txt
# Update local packages and dependencies
$USED_PYTHON_BINARY -m pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | grep --color=auto -vE '(^Django$|git+)' | xargs $USED_PYTHON_BINARY -m pip install -U
if [ "$1" = '-d' ]
then
$USED_PYTHON_BINARY -m pip install -U 'django<3'
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment