diff --git a/bin/pyenv-sh-deactivate b/bin/pyenv-sh-deactivate index c49d1cf..524aa5e 100755 --- a/bin/pyenv-sh-deactivate +++ b/bin/pyenv-sh-deactivate @@ -28,9 +28,9 @@ while [ $# -gt 0 ]; do done shell="$(basename "${PYENV_SHELL:-$SHELL}")" -prefix="${PYENV_ACTIVATE:-${VIRTUAL_ENV}}" +prefix="${VIRTUAL_ENV:-${PYENV_ACTIVATE}}" -if [ -z "${VIRTUAL_ENV}" ]; then +if [ -z "${prefix}" ]; then [ -n "$QUIET" ] || echo "pyenv-virtualenv: no virtualenv has been activated." 1>&2 echo "false" exit 1 diff --git a/bin/pyenv-virtualenv-init b/bin/pyenv-virtualenv-init index bfd03ff..50d501c 100755 --- a/bin/pyenv-virtualenv-init +++ b/bin/pyenv-virtualenv-init @@ -102,24 +102,14 @@ case "$shell" in fish ) cat </dev/null; or true) set -l ret \$status - if [ -n "\$PYENV_ACTIVATE" ] - if [ (pyenv version-name 2>/dev/null; or true) = "system" ] - pyenv deactivate --quiet - set -e PYENV_DEACTIVATE - return \$ret - end - if [ "\$PYENV_ACTIVATE" != "\$PYENV_PREFIX" ] - if pyenv deactivate --quiet - set -e PYENV_DEACTIVATE - pyenv activate --quiet; or set -e PYENV_DEACTIVATE - else - pyenv activate --quiet - end + if [ -n "\$VIRTUAL_ENV" ] + if [ "\$VIRTUAL_ENV" != (pyenv prefix 2>/dev/null; or true) ] + pyenv deactivate --quiet; or true + pyenv activate --quiet; or true end else - if [ -z "\$VIRTUAL_ENV" ]; and [ "\$PYENV_DEACTIVATE" != "\$PYENV_PREFIX" ] + if [ "\$PYENV_DEACTIVATE" != (pyenv prefix 2>/dev/null; or true) ] pyenv activate --quiet; or true end end @@ -142,22 +132,13 @@ esac if [[ "$shell" != "fish" ]]; then cat </dev/null || true)" = "system" ]; then - eval "\$(pyenv sh-deactivate --quiet)" - unset PYENV_DEACTIVATE - return \$ret - fi - if [ "\$PYENV_ACTIVATE" != "\$(pyenv prefix 2>/dev/null || true)" ]; then - if eval "\$(pyenv sh-deactivate --quiet)"; then - unset PYENV_DEACTIVATE - eval "\$(pyenv sh-activate --quiet)" || unset PYENV_DEACTIVATE - else - eval "\$(pyenv sh-activate --quiet)" - fi + if [ -n "\$VIRTUAL_ENV" ]; then + if [ "\$VIRTUAL_ENV" != "\$(pyenv prefix 2>/dev/null || true)" ]; then + eval "\$(pyenv sh-deactivate --quiet)" || true + eval "\$(pyenv sh-activate --quiet)" || true fi else - if [ -z "\$VIRTUAL_ENV" ] && [ "\$PYENV_DEACTIVATE" != "\$(pyenv prefix 2>/dev/null || true)" ]; then + if [ "\$PYENV_DEACTIVATE" != "\$(pyenv prefix 2>/dev/null || true)" ]; then eval "\$(pyenv sh-activate --quiet)" || true fi fi