mirror of https://github.com/python/cpython
bpo-35328: Set VIRTUAL_ENV_PROMPT at venv activation (GH-21587)
Co-Authored-By: Baptiste Darthenay <baptiste.darthenay@gmail.com>
This commit is contained in:
parent
1332226b32
commit
c82dda1e08
|
@ -96,6 +96,11 @@ function global:deactivate ([switch]$NonDestructive) {
|
||||||
Remove-Item -Path env:VIRTUAL_ENV
|
Remove-Item -Path env:VIRTUAL_ENV
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Just remove VIRTUAL_ENV_PROMPT altogether.
|
||||||
|
if (Test-Path -Path Env:VIRTUAL_ENV_PROMPT) {
|
||||||
|
Remove-Item -Path env:VIRTUAL_ENV_PROMPT
|
||||||
|
}
|
||||||
|
|
||||||
# Just remove the _PYTHON_VENV_PROMPT_PREFIX altogether:
|
# Just remove the _PYTHON_VENV_PROMPT_PREFIX altogether:
|
||||||
if (Get-Variable -Name "_PYTHON_VENV_PROMPT_PREFIX" -ErrorAction SilentlyContinue) {
|
if (Get-Variable -Name "_PYTHON_VENV_PROMPT_PREFIX" -ErrorAction SilentlyContinue) {
|
||||||
Remove-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Scope Global -Force
|
Remove-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Scope Global -Force
|
||||||
|
@ -228,6 +233,7 @@ if (-not $Env:VIRTUAL_ENV_DISABLE_PROMPT) {
|
||||||
Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) "
|
Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) "
|
||||||
_OLD_VIRTUAL_PROMPT
|
_OLD_VIRTUAL_PROMPT
|
||||||
}
|
}
|
||||||
|
$env:VIRTUAL_ENV_PROMPT = $Prompt
|
||||||
}
|
}
|
||||||
|
|
||||||
# Clear PYTHONHOME
|
# Clear PYTHONHOME
|
||||||
|
|
|
@ -28,6 +28,7 @@ deactivate () {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
unset VIRTUAL_ENV
|
unset VIRTUAL_ENV
|
||||||
|
unset VIRTUAL_ENV_PROMPT
|
||||||
if [ ! "${1:-}" = "nondestructive" ] ; then
|
if [ ! "${1:-}" = "nondestructive" ] ; then
|
||||||
# Self destruct!
|
# Self destruct!
|
||||||
unset -f deactivate
|
unset -f deactivate
|
||||||
|
@ -56,6 +57,8 @@ if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
|
||||||
_OLD_VIRTUAL_PS1="${PS1:-}"
|
_OLD_VIRTUAL_PS1="${PS1:-}"
|
||||||
PS1="__VENV_PROMPT__${PS1:-}"
|
PS1="__VENV_PROMPT__${PS1:-}"
|
||||||
export PS1
|
export PS1
|
||||||
|
VIRTUAL_ENV_PROMPT="__VENV_PROMPT__"
|
||||||
|
export VIRTUAL_ENV_PROMPT
|
||||||
fi
|
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
|
||||||
|
|
|
@ -25,6 +25,7 @@ if defined _OLD_VIRTUAL_PATH set PATH=%_OLD_VIRTUAL_PATH%
|
||||||
if not defined _OLD_VIRTUAL_PATH set _OLD_VIRTUAL_PATH=%PATH%
|
if not defined _OLD_VIRTUAL_PATH set _OLD_VIRTUAL_PATH=%PATH%
|
||||||
|
|
||||||
set PATH=%VIRTUAL_ENV%\__VENV_BIN_NAME__;%PATH%
|
set PATH=%VIRTUAL_ENV%\__VENV_BIN_NAME__;%PATH%
|
||||||
|
set VIRTUAL_ENV_PROMPT=__VENV_PROMPT__
|
||||||
|
|
||||||
:END
|
:END
|
||||||
if defined _OLD_CODEPAGE (
|
if defined _OLD_CODEPAGE (
|
||||||
|
|
|
@ -17,5 +17,6 @@ if defined _OLD_VIRTUAL_PATH (
|
||||||
set _OLD_VIRTUAL_PATH=
|
set _OLD_VIRTUAL_PATH=
|
||||||
|
|
||||||
set VIRTUAL_ENV=
|
set VIRTUAL_ENV=
|
||||||
|
set VIRTUAL_ENV_PROMPT=
|
||||||
|
|
||||||
:END
|
:END
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
# Created by Davide Di Blasi <davidedb@gmail.com>.
|
# Created by Davide Di Blasi <davidedb@gmail.com>.
|
||||||
# Ported to Python 3.3 venv by Andrew Svetlov <andrew.svetlov@gmail.com>
|
# Ported to Python 3.3 venv by Andrew Svetlov <andrew.svetlov@gmail.com>
|
||||||
|
|
||||||
alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; test "\!:*" != "nondestructive" && unalias deactivate'
|
alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; unsetenv VIRTUAL_ENV_PROMPT; test "\!:*" != "nondestructive" && unalias deactivate'
|
||||||
|
|
||||||
# Unset irrelevant variables.
|
# Unset irrelevant variables.
|
||||||
deactivate nondestructive
|
deactivate nondestructive
|
||||||
|
@ -18,6 +18,7 @@ set _OLD_VIRTUAL_PROMPT="$prompt"
|
||||||
|
|
||||||
if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then
|
if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then
|
||||||
set prompt = "__VENV_PROMPT__$prompt"
|
set prompt = "__VENV_PROMPT__$prompt"
|
||||||
|
setenv VIRTUAL_ENV_PROMPT "__VENV_PROMPT__"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
alias pydoc python -m pydoc
|
alias pydoc python -m pydoc
|
||||||
|
|
|
@ -20,6 +20,7 @@ function deactivate -d "Exit virtual environment and return to normal shell env
|
||||||
end
|
end
|
||||||
|
|
||||||
set -e VIRTUAL_ENV
|
set -e VIRTUAL_ENV
|
||||||
|
set -e VIRTUAL_ENV_PROMPT
|
||||||
if test "$argv[1]" != "nondestructive"
|
if test "$argv[1]" != "nondestructive"
|
||||||
# Self-destruct!
|
# Self-destruct!
|
||||||
functions -e deactivate
|
functions -e deactivate
|
||||||
|
@ -61,4 +62,5 @@ if test -z "$VIRTUAL_ENV_DISABLE_PROMPT"
|
||||||
end
|
end
|
||||||
|
|
||||||
set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV"
|
set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV"
|
||||||
|
set -gx VIRTUAL_ENV_PROMPT "__VENV_PROMPT__"
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Set the environment variable ``VIRTUAL_ENV_PROMPT`` at :mod:`venv`
|
||||||
|
activation.
|
Loading…
Reference in New Issue