1# This file must be used with "source bin/activate" *from bash* 2# you cannot run it directly 3 4deactivate () { 5 # reset old environment variables 6 if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then 7 PATH="${_OLD_VIRTUAL_PATH:-}" 8 export PATH 9 unset _OLD_VIRTUAL_PATH 10 fi 11 if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then 12 PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}" 13 export PYTHONHOME 14 unset _OLD_VIRTUAL_PYTHONHOME 15 fi 16 17 # This should detect bash and zsh, which have a hash command that must 18 # be called to get it to forget past commands. Without forgetting 19 # past commands the $PATH changes we made may not be respected 20 if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then 21 hash -r 2> /dev/null 22 fi 23 24 if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then 25 PS1="${_OLD_VIRTUAL_PS1:-}" 26 export PS1 27 unset _OLD_VIRTUAL_PS1 28 fi 29 30 unset VIRTUAL_ENV 31 if [ ! "${1:-}" = "nondestructive" ] ; then 32 # Self destruct! 33 unset -f deactivate 34 fi 35} 36 37# unset irrelevant variables 38deactivate nondestructive 39 40VIRTUAL_ENV="__VENV_DIR__" 41export VIRTUAL_ENV 42 43_OLD_VIRTUAL_PATH="$PATH" 44PATH="$VIRTUAL_ENV/__VENV_BIN_NAME__:$PATH" 45export PATH 46 47# unset PYTHONHOME if set 48# this will fail if PYTHONHOME is set to the empty string (which is bad anyway) 49# could use `if (set -u; : $PYTHONHOME) ;` in bash 50if [ -n "${PYTHONHOME:-}" ] ; then 51 _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}" 52 unset PYTHONHOME 53fi 54 55if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then 56 _OLD_VIRTUAL_PS1="${PS1:-}" 57 PS1="__VENV_PROMPT__${PS1:-}" 58 export PS1 59fi 60 61# This should detect bash and zsh, which have a hash command that must 62# be called to get it to forget past commands. Without forgetting 63# past commands the $PATH changes we made may not be respected 64if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then 65 hash -r 2> /dev/null 66fi 67