shell-host/lang/python

59 lines
1.5 KiB
Bash

#!/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
}
if command -v python3 >/dev/null 2>&1; then
# TODO make alias generating function for versions of python
alias python3x="sudo -H python3 -m"
alias spip="sudo -H python3 -m pip"
alias spipi="sudo -H python3 -m pip install"
alias spipiu="sudo -H python3 -m pip install -U"
alias spipl="sudo -H python3 -m pip list"
alias spiplo="sudo -H python3 -m pip list --outdated"
alias pip3="sudo -H python3 -m pip"
path_append "/opt/python/bin"
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
}
fi
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
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"
fi
[[ $USE_PYENV ]] && use_pyenv