#!/bin/bash use_pyenv() { if command -v pyenv >/dev/null 2>&1; then export PYENV_ROOT="/opt/python/pyenv" export PYENV_VERSION=${PYENV_VERSION:-3.8.7} eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)" fi } # TODO make alias generating function for versions of python alias python3x="sudo -H python3.8 -m" alias spip="sudo -H python3.8 -m pip" alias spipi="sudo -H python3.8 -m pip install" alias spipiu="sudo -H python3.8 -m pip install -U" alias spipl="sudo -H python3.8 -m pip list" alias spiplo="sudo -H python3.8 -m pip list --outdated" alias pip3="sudo -H python3.8 -m pip" alias pipu="pipx upgrade" alias pipua="pipx upgrade-all" alias pipupip="pipx upgrade pipx" alias pipi="pipx install" alias pipr="pipx uninstall" alias pipl="pipx list" alias piplv="pipx list --verbose" path_append "/opt/python/bin" if command -v pipx >/dev/null 2>&1; then path_append "/opt/python/apps/bin" export PIPX_HOME=/opt/python/apps export PIPX_BIN_DIR=$PIPX_HOME/bin fi [[ $USE_PYENV ]] && use_pyenv spipua() { module_load confirm echo upgrading all base python packages - requires sudo access # sudo -H python3.8 -m pip list --outdated local List local Ver=${1:-3.8} List="$(sudo -H python$Ver -m pip list -o --format columns)" echo "$List" confirm "ATTENTION: upgrade all these packages at once??" || return 0 echo "$List" | cut -d' ' -f1 | xargs -n1 sudo -H python$Ver -m pip install -U }