Kaydet (Commit) a5610e07 authored tarafından Miss Islington (bot)'s avatar Miss Islington (bot) Kaydeden (comit) Victor Stinner

[3.6] bpo-25351: avoid activate failure on strict shells (GH-3804) (#3820)

(cherry picked from commit 90f1d989)
üst 641494ec
...@@ -3,13 +3,13 @@ ...@@ -3,13 +3,13 @@
deactivate () { deactivate () {
# reset old environment variables # reset old environment variables
if [ -n "$_OLD_VIRTUAL_PATH" ] ; then if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then
PATH="$_OLD_VIRTUAL_PATH" PATH="${_OLD_VIRTUAL_PATH:-}"
export PATH export PATH
unset _OLD_VIRTUAL_PATH unset _OLD_VIRTUAL_PATH
fi fi
if [ -n "$_OLD_VIRTUAL_PYTHONHOME" ] ; then if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then
PYTHONHOME="$_OLD_VIRTUAL_PYTHONHOME" PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}"
export PYTHONHOME export PYTHONHOME
unset _OLD_VIRTUAL_PYTHONHOME unset _OLD_VIRTUAL_PYTHONHOME
fi fi
...@@ -17,12 +17,12 @@ deactivate () { ...@@ -17,12 +17,12 @@ deactivate () {
# This should detect bash and zsh, which have a hash command that must # This should detect bash and zsh, which have a hash command that must
# be called to get it to forget past commands. Without forgetting # be called to get it to forget past commands. Without forgetting
# past commands the $PATH changes we made may not be respected # past commands the $PATH changes we made may not be respected
if [ -n "$BASH" -o -n "$ZSH_VERSION" ] ; then if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
hash -r hash -r
fi fi
if [ -n "$_OLD_VIRTUAL_PS1" ] ; then if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then
PS1="$_OLD_VIRTUAL_PS1" PS1="${_OLD_VIRTUAL_PS1:-}"
export PS1 export PS1
unset _OLD_VIRTUAL_PS1 unset _OLD_VIRTUAL_PS1
fi fi
...@@ -47,15 +47,15 @@ export PATH ...@@ -47,15 +47,15 @@ export PATH
# unset PYTHONHOME if set # unset PYTHONHOME if set
# this will fail if PYTHONHOME is set to the empty string (which is bad anyway) # this will fail if PYTHONHOME is set to the empty string (which is bad anyway)
# could use `if (set -u; : $PYTHONHOME) ;` in bash # could use `if (set -u; : $PYTHONHOME) ;` in bash
if [ -n "$PYTHONHOME" ] ; then if [ -n "${PYTHONHOME:-}" ] ; then
_OLD_VIRTUAL_PYTHONHOME="$PYTHONHOME" _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}"
unset PYTHONHOME unset PYTHONHOME
fi fi
if [ -z "$VIRTUAL_ENV_DISABLE_PROMPT" ] ; then if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
_OLD_VIRTUAL_PS1="$PS1" _OLD_VIRTUAL_PS1="${PS1:-}"
if [ "x__VENV_PROMPT__" != x ] ; then if [ "x__VENV_PROMPT__" != x ] ; then
PS1="__VENV_PROMPT__$PS1" PS1="__VENV_PROMPT__${PS1:-}"
else else
if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then
# special case for Aspen magic directories # special case for Aspen magic directories
...@@ -71,6 +71,6 @@ fi ...@@ -71,6 +71,6 @@ fi
# This should detect bash and zsh, which have a hash command that must # This should detect bash and zsh, which have a hash command that must
# be called to get it to forget past commands. Without forgetting # be called to get it to forget past commands. Without forgetting
# past commands the $PATH changes we made may not be respected # past commands the $PATH changes we made may not be respected
if [ -n "$BASH" -o -n "$ZSH_VERSION" ] ; then if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
hash -r hash -r
fi fi
Avoid venv activate failures with undefined variables
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment