mirror of
https://github.com/pyenv/pyenv-virtualenv.git
synced 2025-11-17 07:53:42 -05:00
Restore variables set by activate script of virtualenv properly (#150)
The `activate` script does't export the variables of `_OLD_VIRTUAL_*`, most the deactivation code needed to be moved to `sh-deactivate`.
This commit is contained in:
@@ -32,6 +32,21 @@ pyenv-virtualenv: deactivate anaconda-2.3.0
|
||||
export PYENV_DEACTIVATE="${PYENV_ROOT}/versions/anaconda-2.3.0";
|
||||
unset VIRTUAL_ENV;
|
||||
unset CONDA_DEFAULT_ENV;
|
||||
if [ -n "\${_OLD_VIRTUAL_PATH}" ]; then
|
||||
export PATH="\${_OLD_VIRTUAL_PATH}";
|
||||
unset _OLD_VIRTUAL_PATH;
|
||||
fi;
|
||||
if [ -n "\${_OLD_VIRTUAL_PYTHONHOME}" ]; then
|
||||
export PYTHONHOME="\${_OLD_VIRTUAL_PYTHONHOME}";
|
||||
unset _OLD_VIRTUAL_PYTHONHOME;
|
||||
fi;
|
||||
if [ -n "\${_OLD_VIRTUAL_PS1}" ]; then
|
||||
export PS1="\${_OLD_VIRTUAL_PS1}";
|
||||
unset _OLD_VIRTUAL_PS1;
|
||||
fi;
|
||||
if declare -f deactivate 1>/dev/null 2>&1; then
|
||||
unset -f deactivate;
|
||||
fi;
|
||||
EOS
|
||||
}
|
||||
|
||||
@@ -51,6 +66,17 @@ pyenv-virtualenv: deactivate anaconda-2.3.0
|
||||
setenv PYENV_DEACTIVATE "${PYENV_ROOT}/versions/anaconda-2.3.0";
|
||||
set -e VIRTUAL_ENV;
|
||||
set -e CONDA_DEFAULT_ENV;
|
||||
if [ -n "\$_OLD_VIRTUAL_PATH" ];
|
||||
setenv PATH "\$_OLD_VIRTUAL_PATH";
|
||||
set -e _OLD_VIRTUAL_PATH;
|
||||
end;
|
||||
if [ -n "\$_OLD_VIRTUAL_PYTHONHOME" ];
|
||||
setenv PYTHONHOME "\$_OLD_VIRTUAL_PYTHONHOME";
|
||||
set -e _OLD_VIRTUAL_PYTHONHOME;
|
||||
end;
|
||||
if functions -g deactivate;
|
||||
functions -e deactivate;
|
||||
end;
|
||||
EOS
|
||||
}
|
||||
|
||||
@@ -70,5 +96,20 @@ pyenv-virtualenv: deactivate anaconda-2.3.0/envs/foo
|
||||
export PYENV_DEACTIVATE="${PYENV_ROOT}/versions/anaconda-2.3.0/envs/foo";
|
||||
unset VIRTUAL_ENV;
|
||||
unset CONDA_DEFAULT_ENV;
|
||||
if [ -n "\${_OLD_VIRTUAL_PATH}" ]; then
|
||||
export PATH="\${_OLD_VIRTUAL_PATH}";
|
||||
unset _OLD_VIRTUAL_PATH;
|
||||
fi;
|
||||
if [ -n "\${_OLD_VIRTUAL_PYTHONHOME}" ]; then
|
||||
export PYTHONHOME="\${_OLD_VIRTUAL_PYTHONHOME}";
|
||||
unset _OLD_VIRTUAL_PYTHONHOME;
|
||||
fi;
|
||||
if [ -n "\${_OLD_VIRTUAL_PS1}" ]; then
|
||||
export PS1="\${_OLD_VIRTUAL_PS1}";
|
||||
unset _OLD_VIRTUAL_PS1;
|
||||
fi;
|
||||
if declare -f deactivate 1>/dev/null 2>&1; then
|
||||
unset -f deactivate;
|
||||
fi;
|
||||
EOS
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user