diff --git a/bin/pyenv-sh-activate b/bin/pyenv-sh-activate index 20d66a0..355c344 100755 --- a/bin/pyenv-sh-activate +++ b/bin/pyenv-sh-activate @@ -99,17 +99,20 @@ if [ -z "$no_shell" ]; then echo "pyenv shell \"${versions}\";" fi +prefix="$(pyenv-prefix "${versions}")" case "$shell" in fish ) cat <&2;" + echo " echo \"pyenv-virtualenv: deactivate ${PYENV_ACTIVATE##*/}\" 1>&2;" fi if [ -z "${PYENV_VIRTUALENV_INIT}" ]; then @@ -50,14 +50,16 @@ fi case "$shell" in fish ) cat </dev/null 2>&1; then - export PYENV_DEACTIVATE="$VIRTUAL_ENV"; + export PYENV_DEACTIVATE="$PYENV_ACTIVATE"; + unset PYENV_ACTIVATE; deactivate; else echo "pyenv-virtualenv: no virtualenv has been activated." 1>&2; @@ -26,7 +27,7 @@ EOS @test "deactivate virtualenv (verbose)" { export PYENV_VIRTUALENV_INIT=1 - export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv" + export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv" PYENV_SHELL="bash" run pyenv-sh-deactivate --verbose @@ -34,7 +35,8 @@ EOS assert_output </dev/null 2>&1; then echo "pyenv-virtualenv: deactivate venv" 1>&2; - export PYENV_DEACTIVATE="$VIRTUAL_ENV"; + export PYENV_DEACTIVATE="$PYENV_ACTIVATE"; + unset PYENV_ACTIVATE; deactivate; else echo "pyenv-virtualenv: no virtualenv has been activated." 1>&2; @@ -45,14 +47,15 @@ EOS @test "deactivate virtualenv (no-error)" { export PYENV_VIRTUALENV_INIT=1 - export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv" + export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv" PYENV_SHELL="bash" run pyenv-sh-deactivate --no-error assert_success assert_output </dev/null 2>&1; then - export PYENV_DEACTIVATE="$VIRTUAL_ENV"; + export PYENV_DEACTIVATE="$PYENV_ACTIVATE"; + unset PYENV_ACTIVATE; deactivate; else false; @@ -62,7 +65,7 @@ EOS @test "deactivate virtualenv (without pyenv-virtualenv-init)" { export PYENV_VIRTUALENV_INIT= - export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv" + export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv" PYENV_SHELL="bash" run pyenv-sh-deactivate @@ -70,7 +73,8 @@ EOS assert_output </dev/null 2>&1; then pyenv shell --unset; - export PYENV_DEACTIVATE="$VIRTUAL_ENV"; + export PYENV_DEACTIVATE="$PYENV_ACTIVATE"; + unset PYENV_ACTIVATE; deactivate; else echo "pyenv-virtualenv: no virtualenv has been activated." 1>&2; @@ -81,7 +85,7 @@ EOS @test "deactivate virtualenv (without pyenv-virtualenv-init) (no-error)" { export PYENV_VIRTUALENV_INIT= - export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv" + export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv" PYENV_SHELL="bash" run pyenv-sh-deactivate --no-error @@ -89,7 +93,8 @@ EOS assert_output </dev/null 2>&1; then pyenv shell --unset; - export PYENV_DEACTIVATE="$VIRTUAL_ENV"; + export PYENV_DEACTIVATE="$PYENV_ACTIVATE"; + unset PYENV_ACTIVATE; deactivate; else false; @@ -99,14 +104,15 @@ EOS @test "deactivate virtualenv (fish)" { export PYENV_VIRTUALENV_INIT=1 - export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv" + export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv" PYENV_SHELL="fish" run pyenv-sh-deactivate assert_success assert_output <&2; @@ -117,14 +123,15 @@ EOS @test "deactivate virtualenv (fish) (no-error)" { export PYENV_VIRTUALENV_INIT=1 - export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv" + export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv" PYENV_SHELL="fish" run pyenv-sh-deactivate --no-error assert_success assert_output <&2; @@ -153,7 +161,7 @@ EOS @test "deactivate virtualenv (fish) (without pyenv-virtualenv-init) (no-error)" { export PYENV_VIRTUALENV_INIT= - export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv" + export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv" PYENV_SHELL="fish" run pyenv-sh-deactivate --no-error @@ -161,7 +169,8 @@ EOS assert_output <