#!/usr/bin/env bash # # Summary: Uninstall a specific Python version # # Usage: pyenv uninstall [-f|--force] # # -f Attempt to remove the specified version without prompting # for confirmation. If the version does not exist, do not # display an error message. # # See `pyenv versions` for a complete list of installed versions. # set -e # Provide pyenv completions if [ "$1" = "--complete" ]; then exec pyenv versions --bare fi if [ -z "$PYENV_ROOT" ]; then PYENV_ROOT="${HOME}/.pyenv" fi unset FORCE if [ "$1" = "-f" ] || [ "$1" = "--force" ]; then FORCE=true shift fi DEFINITION="$1" case "$DEFINITION" in "" | -* ) # We can remove the sed fallback once pyenv 0.4.0 is widely available. { pyenv-help uninstall 2>/dev/null || sed -ne '/^#/!q;s/.\{1,2\}//;1,4d;p' < "$0" } >&2 exit 1 ;; esac VERSION_NAME="${DEFINITION##*/}" PREFIX="${PYENV_ROOT}/versions/${VERSION_NAME}" if [ -z "$FORCE" ]; then if [ ! -d "$PREFIX" ]; then echo "pyenv: version \`$VERSION_NAME' not installed" >&2 exit 1 fi read -p "pyenv: remove $PREFIX? " case "$REPLY" in y* | Y* ) ;; * ) exit 1 ;; esac fi if [ -d "$PREFIX" ]; then rm -rf "$PREFIX" pyenv rehash fi