#!/usr/bin/env bash # # Summary: Deactivate virtual environment # # Usage: pyenv deactivate # # Deactivate a Python virtual environment. set -e [ -n "$PYENV_DEBUG" ] && set -x unset NOERROR unset VERBOSE while [ $# -gt 0 ]; do case "$1" in "--no-error" ) NOERROR=1 ;; "--verbose" ) VERBOSE=1 ;; * ) break ;; esac shift 1 done shell="$(basename "${PYENV_SHELL:-$SHELL}")" prefix="${PYENV_ACTIVATE:-${VIRTUAL_ENV}}" if [ -z "${VIRTUAL_ENV}" ]; then [ -n "$NOERROR" ] || echo "pyenv-virtualenv: no virtualenv has been activated." 1>&2 echo "false" exit 1 fi if [ -n "$VERBOSE" ]; then echo "pyenv-virtualenv: deactivate ${prefix##*/}" 1>&2 fi if [ -n "${PYENV_ACTIVATE_SHELL}" ]; then # shell version set in pyenv-sh-activate should be unset # https://github.com/yyuu/pyenv-virtualenv/issues/61 echo "pyenv shell --unset;" case "$shell" in fish ) echo "set -e PYENV_ACTIVATE_SHELL;" ;; * ) echo "unset PYENV_ACTIVATE_SHELL;" ;; esac fi case "${shell}" in fish ) cat <