diff options
| author | Vinay Sajip <vinay_sajip@yahoo.co.uk> | 2017-01-12 17:13:27 (GMT) |
|---|---|---|
| committer | Vinay Sajip <vinay_sajip@yahoo.co.uk> | 2017-01-12 17:13:27 (GMT) |
| commit | a44e2cd0275a9f30cb1e33439a72df21a1444223 (patch) | |
| tree | e480f5f5416976f3ac738b5f6d48c7a7695bd0c1 /Lib/venv/scripts/common/activate | |
| parent | 12c4aba1a0fbd934a66d6b97c29c36d7de14e755 (diff) | |
| parent | 98a74413b9713de4e0f15171dbc83298fa0eb8fd (diff) | |
| download | cpython-a44e2cd0275a9f30cb1e33439a72df21a1444223.zip cpython-a44e2cd0275a9f30cb1e33439a72df21a1444223.tar.gz cpython-a44e2cd0275a9f30cb1e33439a72df21a1444223.tar.bz2 | |
Issue #22343: Merged change from 3.5.
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 |
