mirror of
https://github.com/pyenv/pyenv-virtualenv.git
synced 2025-11-11 13:03:52 -05:00
Merge pull request #111 from yyuu/activate-on-multiple-versions
Change `activate` behavior on multiple versions
This commit is contained in:
@@ -14,6 +14,8 @@
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
unset DEACTIVATE
|
||||
unset FORCE
|
||||
unset QUIET
|
||||
unset VERBOSE
|
||||
|
||||
@@ -24,14 +26,20 @@ while [ $# -gt 0 ]; do
|
||||
echo --unset
|
||||
exec pyenv-virtualenvs --bare
|
||||
;;
|
||||
"--no-error" | "--quiet" )
|
||||
"-d" | "--deactivate" )
|
||||
DEACTIVATE=1
|
||||
;;
|
||||
"-f" | "--force" )
|
||||
FORCE=1
|
||||
;;
|
||||
"-q" | "--quiet" )
|
||||
QUIET=1
|
||||
;;
|
||||
"--unset" )
|
||||
echo "pyenv deactivate"
|
||||
exit
|
||||
;;
|
||||
"--verbose" )
|
||||
"-v" | "--verbose" )
|
||||
VERBOSE=1
|
||||
;;
|
||||
* )
|
||||
@@ -56,30 +64,50 @@ if [ -z "${PYENV_VIRTUALENV_INIT}" ]; then
|
||||
no_shell=
|
||||
fi
|
||||
|
||||
if [ "${#versions[@]}" -gt 1 ]; then
|
||||
[ -n "$QUIET" ] || echo "pyenv-virtualenv: cannot activate multiple versions at once: ${versions[@]}" 1>&2
|
||||
venv="${versions}"
|
||||
|
||||
if ! pyenv-virtualenv-prefix "${venv}" 1>/dev/null 2>&1; then
|
||||
if [ -z "$QUIET" ]; then
|
||||
echo "pyenv-virtualenv: version \`${venv}' is not a virtualenv" 1>&2
|
||||
fi
|
||||
echo "false"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if pyenv-prefix "${versions}" 1>/dev/null 2>&1; then
|
||||
if ! pyenv-virtualenv-prefix "${versions}" 1>/dev/null 2>&1; then
|
||||
[ -n "$QUIET" ] || echo "pyenv-virtualenv: version \`${versions}' is not a virtualenv" 1>&2
|
||||
echo "false"
|
||||
exit 1
|
||||
# exit as error if there are multiple virtualenvs
|
||||
# https://github.com/yyuu/pyenv-virtualenv/issues/105
|
||||
for version in "${versions[@]}"; do
|
||||
if [[ "${version}" != "${venv}" ]]; then
|
||||
if pyenv-virtualenv-prefix "${version}" 1>/dev/null 2>&1; then
|
||||
if [ -z "$QUIET" ]; then
|
||||
echo "pyenv-virtualenv: cannot activate multiple versions at once: ${versions[@]}" 1>&2
|
||||
fi
|
||||
else
|
||||
version="$(pyenv-version-name)"
|
||||
versions="${version%/envs/*}/envs/${versions}"
|
||||
if ! pyenv-virtualenv-prefix "${versions}" 1>/dev/null 2>&1; then
|
||||
[ -n "$QUIET" ] || echo "pyenv-virtualenv: version \`${versions}' is not an environment of anaconda/miniconda" 1>&2
|
||||
echo "false"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
shell="${PYENV_SHELL:-${SHELL##*/}}"
|
||||
prefix="$(pyenv-prefix "${versions}")"
|
||||
prefix="$(pyenv-prefix "${venv}")"
|
||||
|
||||
if [[ "${VIRTUAL_ENV}" == "${prefix}" ]]; then
|
||||
if [ -z "${QUIET}" ]; then
|
||||
echo "pyenv-virtualenv: version \`${venv}' is already activated" 1>&2
|
||||
fi
|
||||
echo "true"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [[ "${PYENV_DEACTIVATE}" == "${prefix}" ]]; then
|
||||
if [ -z "${FORCE}" ]; then
|
||||
if [ -z "${QUIET}" ]; then
|
||||
echo "pyenv-virtualenv: \`${venv}' is marked deactivated. use \`pyenv activate --force ${venv}' to activate forcibly." 1>&2
|
||||
fi
|
||||
echo "false"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Display setup instruction, if pyenv-virtualenv has not been initialized.
|
||||
# if 'pyenv virtualenv-init -' is not found in "$profile"
|
||||
@@ -87,51 +115,54 @@ if [ -z "$PYENV_VIRTUALENV_INIT" ]; then
|
||||
pyenv-virtualenv-init >&2 || true
|
||||
fi
|
||||
|
||||
echo "pyenv-virtualenv: activate ${versions}" 1>&2
|
||||
|
||||
if [ -z "$no_shell" ]; then
|
||||
echo "pyenv shell \"${versions}\";"
|
||||
# shell version set in pyenv-sh-activate should be unset
|
||||
# https://github.com/yyuu/pyenv-virtualenv/issues/61
|
||||
case "$shell" in
|
||||
fish )
|
||||
echo "setenv PYENV_ACTIVATE_SHELL 1;"
|
||||
;;
|
||||
* )
|
||||
echo "export PYENV_ACTIVATE_SHELL=1;"
|
||||
;;
|
||||
esac
|
||||
if [ -n "${DEACTIVATE}" ]; then
|
||||
pyenv-sh-deactivate ${QUIET+--quiet} ${VERBOSE+--verbose}
|
||||
fi
|
||||
|
||||
echo "pyenv-virtualenv: activate ${venv}" 1>&2
|
||||
|
||||
if [ -z "$no_shell" ]; then
|
||||
# shell version set in pyenv-sh-activate should be unset
|
||||
# https://github.com/yyuu/pyenv-virtualenv/issues/61
|
||||
OLDIFS="$IFS"
|
||||
IFS=:
|
||||
case "$shell" in
|
||||
fish )
|
||||
cat <<EOS
|
||||
setenv PYENV_VERSION "${versions[*]}";
|
||||
setenv PYENV_ACTIVATE_SHELL 1;
|
||||
EOS
|
||||
;;
|
||||
* )
|
||||
cat <<EOS
|
||||
export PYENV_VERSION="${versions[*]}";
|
||||
export PYENV_ACTIVATE_SHELL=1;
|
||||
EOS
|
||||
;;
|
||||
esac
|
||||
IFS="$OLDIFS"
|
||||
fi
|
||||
|
||||
# virtualenv/pyvenv
|
||||
case "${shell}" in
|
||||
fish )
|
||||
cat <<EOS
|
||||
set -e PYENV_DEACTIVATE;
|
||||
setenv PYENV_ACTIVATE "${prefix}";
|
||||
setenv VIRTUAL_ENV "${prefix}";
|
||||
EOS
|
||||
;;
|
||||
* )
|
||||
cat <<EOS
|
||||
unset PYENV_DEACTIVATE;
|
||||
export PYENV_ACTIVATE="${prefix}";
|
||||
export VIRTUAL_ENV="${prefix}";
|
||||
EOS
|
||||
;;
|
||||
esac
|
||||
|
||||
# virtualenv/pyvenv
|
||||
case "${shell}" in
|
||||
fish )
|
||||
echo "setenv VIRTUAL_ENV \"${prefix}\";"
|
||||
;;
|
||||
* )
|
||||
echo "export VIRTUAL_ENV=\"${prefix}\";"
|
||||
;;
|
||||
esac
|
||||
|
||||
# anaconda/miniconda
|
||||
if [ -x "${prefix}/bin/conda" ]; then
|
||||
if [[ "${versions}" != "${versions%/envs/*}" ]]; then
|
||||
CONDA_DEFAULT_ENV="${versions##*/envs/}"
|
||||
if [[ "${venv}" != "${venv%/envs/*}" ]]; then
|
||||
CONDA_DEFAULT_ENV="${venv##*/envs/}"
|
||||
else
|
||||
CONDA_DEFAULT_ENV="root"
|
||||
fi
|
||||
|
||||
@@ -9,15 +9,19 @@
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
unset FORCE
|
||||
unset QUIET
|
||||
unset VERBOSE
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
case "$1" in
|
||||
"--no-error" | "--quiet")
|
||||
"-f" | "--force" )
|
||||
FORCE=1
|
||||
;;
|
||||
"-q" | "--quiet")
|
||||
QUIET=1
|
||||
;;
|
||||
"--verbose" )
|
||||
"-v" | "--verbose" )
|
||||
VERBOSE=1
|
||||
;;
|
||||
* )
|
||||
@@ -27,58 +31,57 @@ while [ $# -gt 0 ]; do
|
||||
shift 1
|
||||
done
|
||||
|
||||
shell="$(basename "${PYENV_SHELL:-$SHELL}")"
|
||||
prefix="${VIRTUAL_ENV:-${PYENV_ACTIVATE}}"
|
||||
|
||||
if [ -z "${prefix}" ]; then
|
||||
[ -n "$QUIET" ] || echo "pyenv-virtualenv: no virtualenv has been activated." 1>&2
|
||||
if [ -z "${VIRTUAL_ENV}" ]; then
|
||||
if [ -z "$QUIET" ]; then
|
||||
echo "pyenv-virtualenv: no virtualenv has been activated." 1>&2
|
||||
fi
|
||||
echo "false"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
shell="$(basename "${PYENV_SHELL:-$SHELL}")"
|
||||
prefix="${VIRTUAL_ENV}"
|
||||
|
||||
if [[ "${prefix}" != "${prefix%/envs/*}" ]]; then
|
||||
version="$(basename "${prefix%/envs/*}")/envs/${prefix##*/}"
|
||||
venv="$(basename "${prefix%/envs/*}")/envs/${prefix##*/}"
|
||||
else
|
||||
version="${prefix##*/}"
|
||||
venv="${prefix##*/}"
|
||||
fi
|
||||
echo "pyenv-virtualenv: deactivate ${version}" 1>&2
|
||||
|
||||
echo "pyenv-virtualenv: deactivate ${venv}" 1>&2
|
||||
|
||||
if [ -n "${PYENV_ACTIVATE_SHELL}" ]; then
|
||||
# shell version set in pyenv-sh-activate should be unset
|
||||
# https://github.com/yyuu/pyenv-virtualenv/issues/61
|
||||
echo "pyenv shell --unset;"
|
||||
case "$shell" in
|
||||
fish )
|
||||
echo "set -e PYENV_ACTIVATE_SHELL;"
|
||||
cat <<EOS
|
||||
set -e PYENV_VERSION;
|
||||
set -e PYENV_ACTIVATE_SHELL;
|
||||
EOS
|
||||
;;
|
||||
* )
|
||||
echo "unset PYENV_ACTIVATE_SHELL;"
|
||||
cat <<EOS
|
||||
unset PYENV_VERSION;
|
||||
unset PYENV_ACTIVATE_SHELL;
|
||||
EOS
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
case "${shell}" in
|
||||
fish )
|
||||
cat <<EOS
|
||||
setenv PYENV_DEACTIVATE "$prefix";
|
||||
set -e PYENV_ACTIVATE;
|
||||
EOS
|
||||
;;
|
||||
* )
|
||||
cat <<EOS
|
||||
export PYENV_DEACTIVATE="$prefix";
|
||||
unset PYENV_ACTIVATE;
|
||||
EOS
|
||||
;;
|
||||
esac
|
||||
|
||||
# virtualenv/pyvenv
|
||||
case "${shell}" in
|
||||
fish )
|
||||
echo "set -e VIRTUAL_ENV;"
|
||||
cat <<EOS
|
||||
setenv PYENV_DEACTIVATE "${VIRTUAL_ENV}";
|
||||
set -e VIRTUAL_ENV;
|
||||
EOS
|
||||
;;
|
||||
* )
|
||||
echo "unset VIRTUAL_ENV;"
|
||||
cat <<EOS
|
||||
export PYENV_DEACTIVATE="${VIRTUAL_ENV}";
|
||||
unset VIRTUAL_ENV;
|
||||
EOS
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
@@ -104,15 +104,10 @@ fish )
|
||||
function _pyenv_virtualenv_hook --on-event fish_prompt;
|
||||
set -l ret \$status
|
||||
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
|
||||
pyenv activate --deactivate --quiet; or pyenv deactivate --quiet; or true
|
||||
else
|
||||
if [ "\$PYENV_DEACTIVATE" != (pyenv prefix 2>/dev/null; or true) ]
|
||||
pyenv activate --quiet; or true
|
||||
end
|
||||
end
|
||||
return \$ret
|
||||
end
|
||||
EOS
|
||||
@@ -133,15 +128,10 @@ if [[ "$shell" != "fish" ]]; then
|
||||
cat <<EOS
|
||||
local ret=\$?
|
||||
if [ -n "\$VIRTUAL_ENV" ]; then
|
||||
if [ "\$VIRTUAL_ENV" != "\$(pyenv prefix 2>/dev/null || true)" ]; then
|
||||
eval "\$(pyenv sh-deactivate --quiet || true)" || true
|
||||
eval "\$(pyenv sh-activate --quiet || true)" || true
|
||||
fi
|
||||
eval "\$(pyenv sh-activate --deactivate --quiet || pyenv sh-deactivate --quiet || true)" || true
|
||||
else
|
||||
if [ "\$PYENV_DEACTIVATE" != "\$(pyenv prefix 2>/dev/null || true)" ]; then
|
||||
eval "\$(pyenv sh-activate --quiet || true)" || true
|
||||
fi
|
||||
fi
|
||||
return \$ret
|
||||
};
|
||||
EOS
|
||||
|
||||
@@ -13,7 +13,6 @@ setup() {
|
||||
stub pyenv-version-name "echo venv"
|
||||
stub pyenv-virtualenv-prefix "venv : echo \"${PYENV_ROOT}/versions/venv\""
|
||||
stub pyenv-prefix "venv : echo \"${PYENV_ROOT}/versions/venv\""
|
||||
stub pyenv-prefix "venv : echo \"${PYENV_ROOT}/versions/venv\""
|
||||
|
||||
PYENV_SHELL="bash" PYENV_VERSION="venv" run pyenv-sh-activate
|
||||
|
||||
@@ -25,7 +24,6 @@ setup() {
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: activate venv
|
||||
unset PYENV_DEACTIVATE;
|
||||
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv";
|
||||
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv";
|
||||
EOS
|
||||
}
|
||||
@@ -36,7 +34,6 @@ EOS
|
||||
stub pyenv-version-name "echo venv"
|
||||
stub pyenv-virtualenv-prefix "venv : echo \"${PYENV_ROOT}/versions/venv\""
|
||||
stub pyenv-prefix "venv : echo \"${PYENV_ROOT}/versions/venv\""
|
||||
stub pyenv-prefix "venv : echo \"${PYENV_ROOT}/versions/venv\""
|
||||
|
||||
PYENV_SHELL="bash" PYENV_VERSION="venv" run pyenv-sh-activate --verbose
|
||||
|
||||
@@ -48,7 +45,6 @@ EOS
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: activate venv
|
||||
unset PYENV_DEACTIVATE;
|
||||
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv";
|
||||
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv";
|
||||
EOS
|
||||
}
|
||||
@@ -59,7 +55,6 @@ EOS
|
||||
stub pyenv-version-name "echo venv"
|
||||
stub pyenv-virtualenv-prefix "venv : echo \"${PYENV_ROOT}/versions/venv\""
|
||||
stub pyenv-prefix "venv : echo \"${PYENV_ROOT}/versions/venv\""
|
||||
stub pyenv-prefix "venv : echo \"${PYENV_ROOT}/versions/venv\""
|
||||
|
||||
PYENV_SHELL="bash" PYENV_VERSION="venv" run pyenv-sh-activate
|
||||
|
||||
@@ -75,10 +70,9 @@ EOS
|
||||
eval "\$(pyenv virtualenv-init -)"
|
||||
|
||||
pyenv-virtualenv: activate venv
|
||||
pyenv shell "venv";
|
||||
export PYENV_VERSION="venv";
|
||||
export PYENV_ACTIVATE_SHELL=1;
|
||||
unset PYENV_DEACTIVATE;
|
||||
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv";
|
||||
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv";
|
||||
EOS
|
||||
}
|
||||
@@ -89,7 +83,6 @@ EOS
|
||||
stub pyenv-version-name "echo venv"
|
||||
stub pyenv-virtualenv-prefix "venv : echo \"${PYENV_ROOT}/versions/venv\""
|
||||
stub pyenv-prefix "venv : echo \"${PYENV_ROOT}/versions/venv\""
|
||||
stub pyenv-prefix "venv : echo \"${PYENV_ROOT}/versions/venv\""
|
||||
|
||||
PYENV_SHELL="fish" PYENV_VERSION="venv" run pyenv-sh-activate
|
||||
|
||||
@@ -101,7 +94,6 @@ EOS
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: activate venv
|
||||
set -e PYENV_DEACTIVATE;
|
||||
setenv PYENV_ACTIVATE "${PYENV_ROOT}/versions/venv";
|
||||
setenv VIRTUAL_ENV "${PYENV_ROOT}/versions/venv";
|
||||
EOS
|
||||
}
|
||||
@@ -112,7 +104,6 @@ EOS
|
||||
stub pyenv-version-name "echo venv"
|
||||
stub pyenv-virtualenv-prefix "venv : echo \"${PYENV_ROOT}/versions/venv\""
|
||||
stub pyenv-prefix "venv : echo \"${PYENV_ROOT}/versions/venv\""
|
||||
stub pyenv-prefix "venv : echo \"${PYENV_ROOT}/versions/venv\""
|
||||
|
||||
PYENV_SHELL="fish" PYENV_VERSION="venv" run pyenv-sh-activate
|
||||
|
||||
@@ -128,10 +119,9 @@ EOS
|
||||
status --is-interactive; and . (pyenv virtualenv-init -|psub)
|
||||
|
||||
pyenv-virtualenv: activate venv
|
||||
pyenv shell "venv";
|
||||
setenv PYENV_VERSION "venv";
|
||||
setenv PYENV_ACTIVATE_SHELL 1;
|
||||
set -e PYENV_DEACTIVATE;
|
||||
setenv PYENV_ACTIVATE "${PYENV_ROOT}/versions/venv";
|
||||
setenv VIRTUAL_ENV "${PYENV_ROOT}/versions/venv";
|
||||
EOS
|
||||
}
|
||||
@@ -141,7 +131,6 @@ EOS
|
||||
|
||||
stub pyenv-virtualenv-prefix "venv27 : echo \"${PYENV_ROOT}/versions/venv27\""
|
||||
stub pyenv-prefix "venv27 : echo \"${PYENV_ROOT}/versions/venv27\""
|
||||
stub pyenv-prefix "venv27 : echo \"${PYENV_ROOT}/versions/venv27\""
|
||||
|
||||
PYENV_SHELL="bash" PYENV_VERSION="venv" run pyenv-sh-activate "venv27"
|
||||
|
||||
@@ -151,10 +140,9 @@ EOS
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: activate venv27
|
||||
pyenv shell "venv27";
|
||||
export PYENV_VERSION="venv27";
|
||||
export PYENV_ACTIVATE_SHELL=1;
|
||||
unset PYENV_DEACTIVATE;
|
||||
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv27";
|
||||
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv27";
|
||||
EOS
|
||||
}
|
||||
@@ -164,7 +152,6 @@ EOS
|
||||
|
||||
stub pyenv-virtualenv-prefix "venv27 : echo \"${PYENV_ROOT}/versions/venv27\""
|
||||
stub pyenv-prefix "venv27 : echo \"${PYENV_ROOT}/versions/venv27\""
|
||||
stub pyenv-prefix "venv27 : echo \"${PYENV_ROOT}/versions/venv27\""
|
||||
|
||||
PYENV_SHELL="bash" PYENV_VERSION="venv" run pyenv-sh-activate "venv27"
|
||||
|
||||
@@ -179,10 +166,9 @@ EOS
|
||||
eval "\$(pyenv virtualenv-init -)"
|
||||
|
||||
pyenv-virtualenv: activate venv27
|
||||
pyenv shell "venv27";
|
||||
export PYENV_VERSION="venv27";
|
||||
export PYENV_ACTIVATE_SHELL=1;
|
||||
unset PYENV_DEACTIVATE;
|
||||
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv27";
|
||||
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv27";
|
||||
EOS
|
||||
}
|
||||
@@ -192,7 +178,6 @@ EOS
|
||||
|
||||
stub pyenv-virtualenv-prefix "venv27 : echo \"${PYENV_ROOT}/versions/venv27\""
|
||||
stub pyenv-prefix "venv27 : echo \"${PYENV_ROOT}/versions/venv27\""
|
||||
stub pyenv-prefix "venv27 : echo \"${PYENV_ROOT}/versions/venv27\""
|
||||
|
||||
PYENV_SHELL="fish" PYENV_VERSION="venv" run pyenv-sh-activate "venv27"
|
||||
|
||||
@@ -202,10 +187,9 @@ EOS
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: activate venv27
|
||||
pyenv shell "venv27";
|
||||
setenv PYENV_VERSION "venv27";
|
||||
setenv PYENV_ACTIVATE_SHELL 1;
|
||||
set -e PYENV_DEACTIVATE;
|
||||
setenv PYENV_ACTIVATE "${PYENV_ROOT}/versions/venv27";
|
||||
setenv VIRTUAL_ENV "${PYENV_ROOT}/versions/venv27";
|
||||
EOS
|
||||
}
|
||||
@@ -215,7 +199,6 @@ EOS
|
||||
|
||||
stub pyenv-virtualenv-prefix "venv27 : echo \"${PYENV_ROOT}/versions/venv27\""
|
||||
stub pyenv-prefix "venv27 : echo \"${PYENV_ROOT}/versions/venv27\""
|
||||
stub pyenv-prefix "venv27 : echo \"${PYENV_ROOT}/versions/venv27\""
|
||||
|
||||
PYENV_SHELL="fish" PYENV_VERSION="venv" run pyenv-sh-activate "venv27"
|
||||
|
||||
@@ -230,10 +213,9 @@ EOS
|
||||
status --is-interactive; and . (pyenv virtualenv-init -|psub)
|
||||
|
||||
pyenv-virtualenv: activate venv27
|
||||
pyenv shell "venv27";
|
||||
setenv PYENV_VERSION "venv27";
|
||||
setenv PYENV_ACTIVATE_SHELL 1;
|
||||
set -e PYENV_DEACTIVATE;
|
||||
setenv PYENV_ACTIVATE "${PYENV_ROOT}/versions/venv27";
|
||||
setenv VIRTUAL_ENV "${PYENV_ROOT}/versions/venv27";
|
||||
EOS
|
||||
}
|
||||
@@ -249,12 +231,10 @@ EOS
|
||||
|
||||
@test "should fail if the version is not a virtualenv" {
|
||||
stub pyenv-virtualenv-prefix "3.3.3 : false"
|
||||
stub pyenv-prefix "3.3.3 : echo \"${PYENV_ROOT}/versions/3.3.3\""
|
||||
|
||||
run pyenv-sh-activate "3.3.3"
|
||||
|
||||
unstub pyenv-virtualenv-prefix
|
||||
unstub pyenv-prefix
|
||||
|
||||
assert_failure
|
||||
assert_output <<EOS
|
||||
@@ -265,12 +245,10 @@ EOS
|
||||
|
||||
@test "should fail if the version is not a virtualenv (quiet)" {
|
||||
stub pyenv-virtualenv-prefix "3.3.3 : false"
|
||||
stub pyenv-prefix "3.3.3 : echo \"${PYENV_ROOT}/versions/3.3.3\""
|
||||
|
||||
run pyenv-sh-activate --quiet "3.3.3"
|
||||
|
||||
unstub pyenv-virtualenv-prefix
|
||||
unstub pyenv-prefix
|
||||
|
||||
assert_failure
|
||||
assert_output <<EOS
|
||||
@@ -279,8 +257,13 @@ EOS
|
||||
}
|
||||
|
||||
@test "should fail if there are multiple versions" {
|
||||
stub pyenv-virtualenv-prefix "venv : true"
|
||||
stub pyenv-virtualenv-prefix "venv27 : true"
|
||||
|
||||
run pyenv-sh-activate "venv" "venv27"
|
||||
|
||||
unstub pyenv-virtualenv-prefix
|
||||
|
||||
assert_failure
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: cannot activate multiple versions at once: venv venv27
|
||||
@@ -288,15 +271,58 @@ false
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "should fail if there are multiple versions (quiet)" {
|
||||
@test "should fail if there are multiple virtualenvs (quiet)" {
|
||||
stub pyenv-virtualenv-prefix "venv : true"
|
||||
stub pyenv-virtualenv-prefix "venv27 : true"
|
||||
|
||||
run pyenv-sh-activate --quiet "venv" "venv27"
|
||||
|
||||
unstub pyenv-virtualenv-prefix
|
||||
|
||||
assert_failure
|
||||
assert_output <<EOS
|
||||
false
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "should fail if the first version is not a virtualenv" {
|
||||
export PYENV_VIRTUALENV_INIT=1
|
||||
|
||||
stub pyenv-virtualenv-prefix "2.7.10 : false"
|
||||
|
||||
run pyenv-sh-activate "2.7.10" "venv27"
|
||||
|
||||
unstub pyenv-virtualenv-prefix
|
||||
|
||||
assert_failure
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: version \`2.7.10' is not a virtualenv
|
||||
false
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "activate if the first virtualenv is a virtualenv" {
|
||||
export PYENV_VIRTUALENV_INIT=1
|
||||
|
||||
stub pyenv-virtualenv-prefix "venv27 : echo \"${PYENV_ROOT}/versions/venv27\""
|
||||
stub pyenv-virtualenv-prefix "2.7.10 : false"
|
||||
stub pyenv-prefix "venv27 : echo \"${PYENV_ROOT}/versions/venv27\""
|
||||
|
||||
run pyenv-sh-activate "venv27" "2.7.10"
|
||||
|
||||
unstub pyenv-virtualenv-prefix
|
||||
unstub pyenv-prefix
|
||||
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: activate venv27
|
||||
export PYENV_VERSION="venv27:2.7.10";
|
||||
export PYENV_ACTIVATE_SHELL=1;
|
||||
unset PYENV_DEACTIVATE;
|
||||
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv27";
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "should fail if activate is invoked as a command" {
|
||||
run pyenv-activate
|
||||
|
||||
|
||||
@@ -14,7 +14,6 @@ setup() {
|
||||
stub pyenv-version-name "echo anaconda-2.3.0"
|
||||
stub pyenv-virtualenv-prefix "anaconda-2.3.0 : echo \"${PYENV_ROOT}/versions/anaconda-2.3.0\""
|
||||
stub pyenv-prefix "anaconda-2.3.0 : echo \"${PYENV_ROOT}/versions/anaconda-2.3.0\""
|
||||
stub pyenv-prefix "anaconda-2.3.0 : echo \"${PYENV_ROOT}/versions/anaconda-2.3.0\""
|
||||
|
||||
PYENV_SHELL="bash" PYENV_VERSION="anaconda-2.3.0" run pyenv-sh-activate
|
||||
|
||||
@@ -26,7 +25,6 @@ setup() {
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: activate anaconda-2.3.0
|
||||
unset PYENV_DEACTIVATE;
|
||||
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/anaconda-2.3.0";
|
||||
export VIRTUAL_ENV="${PYENV_ROOT}/versions/anaconda-2.3.0";
|
||||
export CONDA_DEFAULT_ENV="root";
|
||||
EOS
|
||||
@@ -39,7 +37,6 @@ EOS
|
||||
stub pyenv-version-name "echo anaconda-2.3.0"
|
||||
stub pyenv-virtualenv-prefix "anaconda-2.3.0 : echo \"${PYENV_ROOT}/versions/anaconda-2.3.0\""
|
||||
stub pyenv-prefix "anaconda-2.3.0 : echo \"${PYENV_ROOT}/versions/anaconda-2.3.0\""
|
||||
stub pyenv-prefix "anaconda-2.3.0 : echo \"${PYENV_ROOT}/versions/anaconda-2.3.0\""
|
||||
|
||||
PYENV_SHELL="fish" PYENV_VERSION="anaconda-2.3.0" run pyenv-sh-activate
|
||||
|
||||
@@ -51,7 +48,6 @@ EOS
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: activate anaconda-2.3.0
|
||||
set -e PYENV_DEACTIVATE;
|
||||
setenv PYENV_ACTIVATE "${TMP}/pyenv/versions/anaconda-2.3.0";
|
||||
setenv VIRTUAL_ENV "${TMP}/pyenv/versions/anaconda-2.3.0";
|
||||
setenv CONDA_DEFAULT_ENV "root";
|
||||
EOS
|
||||
@@ -64,7 +60,6 @@ EOS
|
||||
create_conda "miniconda-3.9.1"
|
||||
stub pyenv-virtualenv-prefix "miniconda-3.9.1 : echo \"${PYENV_ROOT}/versions/miniconda-3.9.1\""
|
||||
stub pyenv-prefix "miniconda-3.9.1 : echo \"${PYENV_ROOT}/versions/miniconda-3.9.1\""
|
||||
stub pyenv-prefix "miniconda-3.9.1 : echo \"${PYENV_ROOT}/versions/miniconda-3.9.1\""
|
||||
|
||||
PYENV_SHELL="bash" PYENV_VERSION="anaconda-2.3.0" run pyenv-sh-activate "miniconda-3.9.1"
|
||||
|
||||
@@ -74,10 +69,9 @@ EOS
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: activate miniconda-3.9.1
|
||||
pyenv shell "miniconda-3.9.1";
|
||||
export PYENV_VERSION="miniconda-3.9.1";
|
||||
export PYENV_ACTIVATE_SHELL=1;
|
||||
unset PYENV_DEACTIVATE;
|
||||
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/miniconda-3.9.1";
|
||||
export VIRTUAL_ENV="${PYENV_ROOT}/versions/miniconda-3.9.1";
|
||||
export CONDA_DEFAULT_ENV="root";
|
||||
EOS
|
||||
@@ -90,7 +84,6 @@ EOS
|
||||
stub pyenv-version-name "echo anaconda-2.3.0/envs/foo"
|
||||
stub pyenv-virtualenv-prefix "anaconda-2.3.0/envs/foo : echo \"${PYENV_ROOT}/versions/anaconda-2.3.0/envs/foo\""
|
||||
stub pyenv-prefix "anaconda-2.3.0/envs/foo : echo \"${PYENV_ROOT}/versions/anaconda-2.3.0/envs/foo\""
|
||||
stub pyenv-prefix "anaconda-2.3.0/envs/foo : echo \"${PYENV_ROOT}/versions/anaconda-2.3.0/envs/foo\""
|
||||
|
||||
PYENV_SHELL="bash" PYENV_VERSION="anaconda-2.3.0/envs/foo" run pyenv-sh-activate
|
||||
|
||||
@@ -102,7 +95,6 @@ EOS
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: activate anaconda-2.3.0/envs/foo
|
||||
unset PYENV_DEACTIVATE;
|
||||
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/anaconda-2.3.0/envs/foo";
|
||||
export VIRTUAL_ENV="${PYENV_ROOT}/versions/anaconda-2.3.0/envs/foo";
|
||||
export CONDA_DEFAULT_ENV="foo";
|
||||
EOS
|
||||
@@ -115,7 +107,6 @@ EOS
|
||||
create_conda "miniconda-3.9.1" "bar"
|
||||
stub pyenv-virtualenv-prefix "miniconda-3.9.1/envs/bar : echo \"${PYENV_ROOT}/versions/miniconda-3.9.1\""
|
||||
stub pyenv-prefix "miniconda-3.9.1/envs/bar : echo \"${PYENV_ROOT}/versions/miniconda-3.9.1/envs/bar\""
|
||||
stub pyenv-prefix "miniconda-3.9.1/envs/bar : echo \"${PYENV_ROOT}/versions/miniconda-3.9.1/envs/bar\""
|
||||
|
||||
PYENV_SHELL="bash" PYENV_VERSION="anaconda-2.3.0/envs/foo" run pyenv-sh-activate "miniconda-3.9.1/envs/bar"
|
||||
|
||||
@@ -125,37 +116,9 @@ EOS
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: activate miniconda-3.9.1/envs/bar
|
||||
pyenv shell "miniconda-3.9.1/envs/bar";
|
||||
export PYENV_VERSION="miniconda-3.9.1/envs/bar";
|
||||
export PYENV_ACTIVATE_SHELL=1;
|
||||
unset PYENV_DEACTIVATE;
|
||||
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/miniconda-3.9.1/envs/bar";
|
||||
export VIRTUAL_ENV="${PYENV_ROOT}/versions/miniconda-3.9.1/envs/bar";
|
||||
export CONDA_DEFAULT_ENV="bar";
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "activate conda env from command-line argument in short-form" {
|
||||
export PYENV_VIRTUALENV_INIT=1
|
||||
|
||||
create_conda "miniconda-3.9.1" "bar"
|
||||
stub pyenv-prefix "bar : false"
|
||||
stub pyenv-version-name " : echo miniconda-3.9.1"
|
||||
stub pyenv-virtualenv-prefix "miniconda-3.9.1/envs/bar : echo \"${PYENV_ROOT}/versions/miniconda-3.9.1/envs/bar\""
|
||||
stub pyenv-prefix "miniconda-3.9.1/envs/bar : echo \"${PYENV_ROOT}/versions/miniconda-3.9.1/envs/bar\""
|
||||
|
||||
PYENV_SHELL="bash" PYENV_VERSION="miniconda-3.9.1" run pyenv-sh-activate "bar"
|
||||
|
||||
unstub pyenv-prefix
|
||||
unstub pyenv-version-name
|
||||
unstub pyenv-virtualenv-prefix
|
||||
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: activate miniconda-3.9.1/envs/bar
|
||||
pyenv shell "miniconda-3.9.1/envs/bar";
|
||||
export PYENV_ACTIVATE_SHELL=1;
|
||||
unset PYENV_DEACTIVATE;
|
||||
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/miniconda-3.9.1/envs/bar";
|
||||
export VIRTUAL_ENV="${PYENV_ROOT}/versions/miniconda-3.9.1/envs/bar";
|
||||
export CONDA_DEFAULT_ENV="bar";
|
||||
EOS
|
||||
|
||||
@@ -8,7 +8,6 @@ setup() {
|
||||
|
||||
@test "deactivate conda root" {
|
||||
export VIRTUAL_ENV="${PYENV_ROOT}/versions/anaconda-2.3.0"
|
||||
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/anaconda-2.3.0"
|
||||
export PYENV_ACTIVATE_SHELL=
|
||||
export CONDA_DEFAULT_ENV="root"
|
||||
|
||||
@@ -19,8 +18,7 @@ setup() {
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: deactivate anaconda-2.3.0
|
||||
export PYENV_DEACTIVATE="$PYENV_ACTIVATE";
|
||||
unset PYENV_ACTIVATE;
|
||||
export PYENV_DEACTIVATE="${PYENV_ROOT}/versions/anaconda-2.3.0";
|
||||
unset VIRTUAL_ENV;
|
||||
unset CONDA_DEFAULT_ENV;
|
||||
EOS
|
||||
@@ -28,7 +26,6 @@ EOS
|
||||
|
||||
@test "deactivate conda root (fish)" {
|
||||
export VIRTUAL_ENV="${PYENV_ROOT}/versions/anaconda-2.3.0"
|
||||
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/anaconda-2.3.0"
|
||||
export PYENV_ACTIVATE_SHELL=
|
||||
export CONDA_DEFAULT_ENV="root"
|
||||
|
||||
@@ -40,8 +37,7 @@ EOS
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: deactivate anaconda-2.3.0
|
||||
setenv PYENV_DEACTIVATE "${TMP}/pyenv/versions/anaconda-2.3.0";
|
||||
set -e PYENV_ACTIVATE;
|
||||
setenv PYENV_DEACTIVATE "${PYENV_ROOT}/versions/anaconda-2.3.0";
|
||||
set -e VIRTUAL_ENV;
|
||||
set -e CONDA_DEFAULT_ENV;
|
||||
EOS
|
||||
@@ -49,7 +45,6 @@ EOS
|
||||
|
||||
@test "deactivate conda env" {
|
||||
export VIRTUAL_ENV="${PYENV_ROOT}/versions/anaconda-2.3.0/envs/foo"
|
||||
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/anaconda-2.3.0/envs/foo"
|
||||
export PYENV_ACTIVATE_SHELL=
|
||||
export CONDA_DEFAULT_ENV="foo"
|
||||
|
||||
@@ -61,8 +56,7 @@ EOS
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: deactivate anaconda-2.3.0/envs/foo
|
||||
export PYENV_DEACTIVATE="$PYENV_ACTIVATE";
|
||||
unset PYENV_ACTIVATE;
|
||||
export PYENV_DEACTIVATE="${PYENV_ROOT}/versions/anaconda-2.3.0/envs/foo";
|
||||
unset VIRTUAL_ENV;
|
||||
unset CONDA_DEFAULT_ENV;
|
||||
EOS
|
||||
|
||||
@@ -8,7 +8,6 @@ setup() {
|
||||
|
||||
@test "deactivate virtualenv" {
|
||||
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
|
||||
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
|
||||
export PYENV_ACTIVATE_SHELL=
|
||||
|
||||
PYENV_SHELL="bash" run pyenv-sh-deactivate
|
||||
@@ -16,15 +15,13 @@ setup() {
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: deactivate venv
|
||||
export PYENV_DEACTIVATE="$PYENV_ACTIVATE";
|
||||
unset PYENV_ACTIVATE;
|
||||
export PYENV_DEACTIVATE="${PYENV_ROOT}/versions/venv";
|
||||
unset VIRTUAL_ENV;
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "deactivate virtualenv (verbose)" {
|
||||
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
|
||||
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
|
||||
export PYENV_ACTIVATE_SHELL=
|
||||
|
||||
PYENV_SHELL="bash" run pyenv-sh-deactivate --verbose
|
||||
@@ -32,15 +29,13 @@ EOS
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: deactivate venv
|
||||
export PYENV_DEACTIVATE="$PYENV_ACTIVATE";
|
||||
unset PYENV_ACTIVATE;
|
||||
export PYENV_DEACTIVATE="${PYENV_ROOT}/versions/venv";
|
||||
unset VIRTUAL_ENV;
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "deactivate virtualenv (quiet)" {
|
||||
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
|
||||
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
|
||||
export PYENV_ACTIVATE_SHELL=
|
||||
|
||||
PYENV_SHELL="bash" run pyenv-sh-deactivate --quiet
|
||||
@@ -48,15 +43,13 @@ EOS
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: deactivate venv
|
||||
export PYENV_DEACTIVATE="$PYENV_ACTIVATE";
|
||||
unset PYENV_ACTIVATE;
|
||||
export PYENV_DEACTIVATE="${PYENV_ROOT}/versions/venv";
|
||||
unset VIRTUAL_ENV;
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "deactivate virtualenv (with shell activation)" {
|
||||
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
|
||||
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
|
||||
export PYENV_ACTIVATE_SHELL=1
|
||||
|
||||
PYENV_SHELL="bash" run pyenv-sh-deactivate
|
||||
@@ -64,17 +57,15 @@ EOS
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: deactivate venv
|
||||
pyenv shell --unset;
|
||||
unset PYENV_VERSION;
|
||||
unset PYENV_ACTIVATE_SHELL;
|
||||
export PYENV_DEACTIVATE="$PYENV_ACTIVATE";
|
||||
unset PYENV_ACTIVATE;
|
||||
export PYENV_DEACTIVATE="${PYENV_ROOT}/versions/venv";
|
||||
unset VIRTUAL_ENV;
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "deactivate virtualenv (with shell activation) (quiet)" {
|
||||
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
|
||||
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
|
||||
export PYENV_ACTIVATE_SHELL=1
|
||||
|
||||
PYENV_SHELL="bash" run pyenv-sh-deactivate --quiet
|
||||
@@ -82,17 +73,15 @@ EOS
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: deactivate venv
|
||||
pyenv shell --unset;
|
||||
unset PYENV_VERSION;
|
||||
unset PYENV_ACTIVATE_SHELL;
|
||||
export PYENV_DEACTIVATE="$PYENV_ACTIVATE";
|
||||
unset PYENV_ACTIVATE;
|
||||
export PYENV_DEACTIVATE="${PYENV_ROOT}/versions/venv";
|
||||
unset VIRTUAL_ENV;
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "deactivate virtualenv which has been activated manually" {
|
||||
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
|
||||
export PYENV_ACTIVATE=
|
||||
export PYENV_ACTIVATE_SHELL=
|
||||
|
||||
PYENV_SHELL="bash" run pyenv-sh-deactivate
|
||||
@@ -100,15 +89,13 @@ EOS
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: deactivate venv
|
||||
export PYENV_DEACTIVATE="$VIRTUAL_ENV";
|
||||
unset PYENV_ACTIVATE;
|
||||
export PYENV_DEACTIVATE="${PYENV_ROOT}/versions/venv";
|
||||
unset VIRTUAL_ENV;
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "deactivate virtualenv (fish)" {
|
||||
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
|
||||
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
|
||||
export PYENV_ACTIVATE_SHELL=
|
||||
|
||||
PYENV_SHELL="fish" run pyenv-sh-deactivate
|
||||
@@ -116,15 +103,13 @@ EOS
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: deactivate venv
|
||||
setenv PYENV_DEACTIVATE "$PYENV_ACTIVATE";
|
||||
set -e PYENV_ACTIVATE;
|
||||
setenv PYENV_DEACTIVATE "${PYENV_ROOT}/versions/venv";
|
||||
set -e VIRTUAL_ENV;
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "deactivate virtualenv (fish) (quiet)" {
|
||||
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
|
||||
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
|
||||
export PYENV_ACTIVATE_SHELL=
|
||||
|
||||
PYENV_SHELL="fish" run pyenv-sh-deactivate --quiet
|
||||
@@ -132,15 +117,13 @@ EOS
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: deactivate venv
|
||||
setenv PYENV_DEACTIVATE "$PYENV_ACTIVATE";
|
||||
set -e PYENV_ACTIVATE;
|
||||
setenv PYENV_DEACTIVATE "${PYENV_ROOT}/versions/venv";
|
||||
set -e VIRTUAL_ENV;
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "deactivate virtualenv (fish) (with shell activation)" {
|
||||
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
|
||||
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
|
||||
export PYENV_ACTIVATE_SHELL=1
|
||||
|
||||
PYENV_SHELL="fish" run pyenv-sh-deactivate
|
||||
@@ -148,17 +131,15 @@ EOS
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: deactivate venv
|
||||
pyenv shell --unset;
|
||||
set -e PYENV_VERSION;
|
||||
set -e PYENV_ACTIVATE_SHELL;
|
||||
setenv PYENV_DEACTIVATE "$PYENV_ACTIVATE";
|
||||
set -e PYENV_ACTIVATE;
|
||||
setenv PYENV_DEACTIVATE "${PYENV_ROOT}/versions/venv";
|
||||
set -e VIRTUAL_ENV;
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "deactivate virtualenv (fish) (with shell activation) (quiet)" {
|
||||
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
|
||||
export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"
|
||||
export PYENV_ACTIVATE_SHELL=1
|
||||
|
||||
PYENV_SHELL="fish" run pyenv-sh-deactivate --quiet
|
||||
@@ -166,17 +147,15 @@ EOS
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: deactivate venv
|
||||
pyenv shell --unset;
|
||||
set -e PYENV_VERSION;
|
||||
set -e PYENV_ACTIVATE_SHELL;
|
||||
setenv PYENV_DEACTIVATE "$PYENV_ACTIVATE";
|
||||
set -e PYENV_ACTIVATE;
|
||||
setenv PYENV_DEACTIVATE "${PYENV_ROOT}/versions/venv";
|
||||
set -e VIRTUAL_ENV;
|
||||
EOS
|
||||
}
|
||||
|
||||
@test "deactivate virtualenv which has been activated manually (fish)" {
|
||||
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
|
||||
export PYENV_ACTIVATE=
|
||||
export PYENV_ACTIVATE_SHELL=
|
||||
|
||||
PYENV_SHELL="fish" run pyenv-sh-deactivate
|
||||
@@ -184,8 +163,7 @@ EOS
|
||||
assert_success
|
||||
assert_output <<EOS
|
||||
pyenv-virtualenv: deactivate venv
|
||||
setenv PYENV_DEACTIVATE "$VIRTUAL_ENV";
|
||||
set -e PYENV_ACTIVATE;
|
||||
setenv PYENV_DEACTIVATE "${PYENV_ROOT}/versions/venv";
|
||||
set -e VIRTUAL_ENV;
|
||||
EOS
|
||||
}
|
||||
|
||||
@@ -55,15 +55,10 @@ export PYENV_VIRTUALENV_INIT=1;
|
||||
_pyenv_virtualenv_hook() {
|
||||
local ret=\$?
|
||||
if [ -n "\$VIRTUAL_ENV" ]; then
|
||||
if [ "\$VIRTUAL_ENV" != "\$(pyenv prefix 2>/dev/null || true)" ]; then
|
||||
eval "\$(pyenv sh-deactivate --quiet || true)" || true
|
||||
eval "\$(pyenv sh-activate --quiet || true)" || true
|
||||
fi
|
||||
eval "\$(pyenv sh-activate --deactivate --quiet || pyenv sh-deactivate --quiet || true)" || true
|
||||
else
|
||||
if [ "\$PYENV_DEACTIVATE" != "\$(pyenv prefix 2>/dev/null || true)" ]; then
|
||||
eval "\$(pyenv sh-activate --quiet || true)" || true
|
||||
fi
|
||||
fi
|
||||
return \$ret
|
||||
};
|
||||
if ! [[ "\$PROMPT_COMMAND" =~ _pyenv_virtualenv_hook ]]; then
|
||||
@@ -82,15 +77,10 @@ setenv PYENV_VIRTUALENV_INIT 1;
|
||||
function _pyenv_virtualenv_hook --on-event fish_prompt;
|
||||
set -l ret \$status
|
||||
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
|
||||
pyenv activate --deactivate --quiet; or pyenv deactivate --quiet; or true
|
||||
else
|
||||
if [ "\$PYENV_DEACTIVATE" != (pyenv prefix 2>/dev/null; or true) ]
|
||||
pyenv activate --quiet; or true
|
||||
end
|
||||
end
|
||||
return \$ret
|
||||
end
|
||||
EOS
|
||||
@@ -106,15 +96,10 @@ export PYENV_VIRTUALENV_INIT=1;
|
||||
_pyenv_virtualenv_hook() {
|
||||
local ret=\$?
|
||||
if [ -n "\$VIRTUAL_ENV" ]; then
|
||||
if [ "\$VIRTUAL_ENV" != "\$(pyenv prefix 2>/dev/null || true)" ]; then
|
||||
eval "\$(pyenv sh-deactivate --quiet || true)" || true
|
||||
eval "\$(pyenv sh-activate --quiet || true)" || true
|
||||
fi
|
||||
eval "\$(pyenv sh-activate --deactivate --quiet || pyenv sh-deactivate --quiet || true)" || true
|
||||
else
|
||||
if [ "\$PYENV_DEACTIVATE" != "\$(pyenv prefix 2>/dev/null || true)" ]; then
|
||||
eval "\$(pyenv sh-activate --quiet || true)" || true
|
||||
fi
|
||||
fi
|
||||
return \$ret
|
||||
};
|
||||
typeset -g -a precmd_functions
|
||||
|
||||
Reference in New Issue
Block a user