diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2017-01-12 17:43:15 (GMT) |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2017-01-12 17:43:15 (GMT) |
commit | 97bf5929259e51a0e7b53b952de619022ae83c91 (patch) | |
tree | 662325779479ca44165d867bbd53465c01b33884 /Lib/venv/scripts/common/activate | |
parent | 617c7753ce010617b45ae3bfa53a90c07b51510a (diff) | |
parent | cc03ab6c4f03f9b03179f9957cfb65bc0422489c (diff) | |
download | cpython-97bf5929259e51a0e7b53b952de619022ae83c91.zip cpython-97bf5929259e51a0e7b53b952de619022ae83c91.tar.gz cpython-97bf5929259e51a0e7b53b952de619022ae83c91.tar.bz2 |
Null merge
Diffstat (limited to 'Lib/venv/scripts/common/activate')
-rw-r--r-- | Lib/venv/scripts/common/activate | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/Lib/venv/scripts/common/activate b/Lib/venv/scripts/common/activate new file mode 100644 index 0000000..c78a4ef --- /dev/null +++ b/Lib/venv/scripts/common/activate @@ -0,0 +1,76 @@ +# This file must be used with "source bin/activate" *from bash* +# you cannot run it directly + +deactivate () { + # reset old environment variables + if [ -n "$_OLD_VIRTUAL_PATH" ] ; then + PATH="$_OLD_VIRTUAL_PATH" + export PATH + unset _OLD_VIRTUAL_PATH + fi + if [ -n "$_OLD_VIRTUAL_PYTHONHOME" ] ; then + PYTHONHOME="$_OLD_VIRTUAL_PYTHONHOME" + export PYTHONHOME + unset _OLD_VIRTUAL_PYTHONHOME + fi + + # This should detect bash and zsh, which have a hash command that must + # be called to get it to forget past commands. Without forgetting + # past commands the $PATH changes we made may not be respected + if [ -n "$BASH" -o -n "$ZSH_VERSION" ] ; then + hash -r + fi + + if [ -n "$_OLD_VIRTUAL_PS1" ] ; then + PS1="$_OLD_VIRTUAL_PS1" + export PS1 + unset _OLD_VIRTUAL_PS1 + fi + + unset VIRTUAL_ENV + if [ ! "$1" = "nondestructive" ] ; then + # Self destruct! + unset -f deactivate + fi +} + +# unset irrelevant variables +deactivate nondestructive + +VIRTUAL_ENV="__VENV_DIR__" +export VIRTUAL_ENV + +_OLD_VIRTUAL_PATH="$PATH" +PATH="$VIRTUAL_ENV/__VENV_BIN_NAME__:$PATH" +export PATH + +# unset PYTHONHOME if set +# this will fail if PYTHONHOME is set to the empty string (which is bad anyway) +# could use `if (set -u; : $PYTHONHOME) ;` in bash +if [ -n "$PYTHONHOME" ] ; then + _OLD_VIRTUAL_PYTHONHOME="$PYTHONHOME" + unset PYTHONHOME +fi + +if [ -z "$VIRTUAL_ENV_DISABLE_PROMPT" ] ; then + _OLD_VIRTUAL_PS1="$PS1" + if [ "x__VENV_PROMPT__" != x ] ; then + PS1="__VENV_PROMPT__$PS1" + else + if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then + # special case for Aspen magic directories + # see http://www.zetadev.com/software/aspen/ + PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1" + else + PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1" + fi + fi + export PS1 +fi + +# This should detect bash and zsh, which have a hash command that must +# be called to get it to forget past commands. Without forgetting +# past commands the $PATH changes we made may not be respected +if [ -n "$BASH" -o -n "$ZSH_VERSION" ] ; then + hash -r +fi |