mirror of
https://github.com/python/cpython.git
synced 2025-09-30 20:31:52 +00:00
[3.6] bpo-25351: avoid activate failure on strict shells (GH-3804) (#3820)
(cherry picked from commit 90f1d98959
)
This commit is contained in:
parent
641494ec31
commit
a5610e0746
2 changed files with 14 additions and 13 deletions
|
@ -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 () {
|
||||||
# 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
|
||||||
# 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
|
||||||
# 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
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Avoid venv activate failures with undefined variables
|
Loading…
Add table
Add a link
Reference in a new issue