mirror of
https://github.com/pyenv/pyenv-virtualenv.git
synced 2025-11-16 23:43:44 -05:00
activate: look for a conda environment if given name is not a pyenv's prefix
This commit is contained in:
@@ -62,10 +62,19 @@ if [ "${#versions[@]}" -gt 1 ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! pyenv-virtualenv-prefix "${versions}" 1>/dev/null 2>&1; then
|
if pyenv-prefix "${versions}" 1>/dev/null 2>&1; then
|
||||||
[ -n "$NOERROR" ] || echo "pyenv-virtualenv: version \`${versions}' is not a virtualenv" 1>&2
|
if ! pyenv-virtualenv-prefix "${versions}" 1>/dev/null 2>&1; then
|
||||||
echo "false"
|
[ -n "$NOERROR" ] || echo "pyenv-virtualenv: version \`${versions}' is not a virtualenv" 1>&2
|
||||||
exit 1
|
echo "false"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
versions="$(pyenv-version-name)/envs/${versions}"
|
||||||
|
if ! pyenv-virtualenv-prefix "${versions}" 1>/dev/null 2>&1; then
|
||||||
|
[ -n "$NOERROR" ] || echo "pyenv-virtualenv: version \`${versions}' is not an environment of anaconda/miniconda" 1>&2
|
||||||
|
echo "false"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
shell="${PYENV_SHELL:-${SHELL##*/}}"
|
shell="${PYENV_SHELL:-${SHELL##*/}}"
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ setup() {
|
|||||||
stub pyenv-version-name "echo venv"
|
stub pyenv-version-name "echo venv"
|
||||||
stub pyenv-virtualenv-prefix "venv : echo \"${PYENV_ROOT}/versions/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\""
|
||||||
|
stub pyenv-prefix "venv : echo \"${PYENV_ROOT}/versions/venv\""
|
||||||
|
|
||||||
PYENV_SHELL="bash" PYENV_VERSION="venv" run pyenv-sh-activate
|
PYENV_SHELL="bash" PYENV_VERSION="venv" run pyenv-sh-activate
|
||||||
|
|
||||||
@@ -34,6 +35,7 @@ EOS
|
|||||||
stub pyenv-version-name "echo venv"
|
stub pyenv-version-name "echo venv"
|
||||||
stub pyenv-virtualenv-prefix "venv : echo \"${PYENV_ROOT}/versions/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\""
|
||||||
|
stub pyenv-prefix "venv : echo \"${PYENV_ROOT}/versions/venv\""
|
||||||
|
|
||||||
PYENV_SHELL="bash" PYENV_VERSION="venv" run pyenv-sh-activate --verbose
|
PYENV_SHELL="bash" PYENV_VERSION="venv" run pyenv-sh-activate --verbose
|
||||||
|
|
||||||
@@ -56,6 +58,7 @@ EOS
|
|||||||
stub pyenv-version-name "echo venv"
|
stub pyenv-version-name "echo venv"
|
||||||
stub pyenv-virtualenv-prefix "venv : echo \"${PYENV_ROOT}/versions/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\""
|
||||||
|
stub pyenv-prefix "venv : echo \"${PYENV_ROOT}/versions/venv\""
|
||||||
|
|
||||||
PYENV_SHELL="bash" PYENV_VERSION="venv" run pyenv-sh-activate
|
PYENV_SHELL="bash" PYENV_VERSION="venv" run pyenv-sh-activate
|
||||||
|
|
||||||
@@ -84,6 +87,7 @@ EOS
|
|||||||
stub pyenv-version-name "echo venv"
|
stub pyenv-version-name "echo venv"
|
||||||
stub pyenv-virtualenv-prefix "venv : echo \"${PYENV_ROOT}/versions/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\""
|
||||||
|
stub pyenv-prefix "venv : echo \"${PYENV_ROOT}/versions/venv\""
|
||||||
|
|
||||||
PYENV_SHELL="fish" PYENV_VERSION="venv" run pyenv-sh-activate
|
PYENV_SHELL="fish" PYENV_VERSION="venv" run pyenv-sh-activate
|
||||||
|
|
||||||
@@ -105,6 +109,7 @@ EOS
|
|||||||
stub pyenv-version-name "echo venv"
|
stub pyenv-version-name "echo venv"
|
||||||
stub pyenv-virtualenv-prefix "venv : echo \"${PYENV_ROOT}/versions/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\""
|
||||||
|
stub pyenv-prefix "venv : echo \"${PYENV_ROOT}/versions/venv\""
|
||||||
|
|
||||||
PYENV_SHELL="fish" PYENV_VERSION="venv" run pyenv-sh-activate
|
PYENV_SHELL="fish" PYENV_VERSION="venv" run pyenv-sh-activate
|
||||||
|
|
||||||
@@ -132,6 +137,7 @@ EOS
|
|||||||
|
|
||||||
stub pyenv-virtualenv-prefix "venv27 : echo \"${PYENV_ROOT}/versions/venv27\""
|
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\""
|
||||||
|
stub pyenv-prefix "venv27 : echo \"${PYENV_ROOT}/versions/venv27\""
|
||||||
|
|
||||||
PYENV_SHELL="bash" PYENV_VERSION="venv" run pyenv-sh-activate "venv27"
|
PYENV_SHELL="bash" PYENV_VERSION="venv" run pyenv-sh-activate "venv27"
|
||||||
|
|
||||||
@@ -153,6 +159,7 @@ EOS
|
|||||||
|
|
||||||
stub pyenv-virtualenv-prefix "venv27 : echo \"${PYENV_ROOT}/versions/venv27\""
|
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\""
|
||||||
|
stub pyenv-prefix "venv27 : echo \"${PYENV_ROOT}/versions/venv27\""
|
||||||
|
|
||||||
PYENV_SHELL="bash" PYENV_VERSION="venv" run pyenv-sh-activate "venv27"
|
PYENV_SHELL="bash" PYENV_VERSION="venv" run pyenv-sh-activate "venv27"
|
||||||
|
|
||||||
@@ -179,6 +186,7 @@ EOS
|
|||||||
|
|
||||||
stub pyenv-virtualenv-prefix "venv27 : echo \"${PYENV_ROOT}/versions/venv27\""
|
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\""
|
||||||
|
stub pyenv-prefix "venv27 : echo \"${PYENV_ROOT}/versions/venv27\""
|
||||||
|
|
||||||
PYENV_SHELL="fish" PYENV_VERSION="venv" run pyenv-sh-activate "venv27"
|
PYENV_SHELL="fish" PYENV_VERSION="venv" run pyenv-sh-activate "venv27"
|
||||||
|
|
||||||
@@ -200,6 +208,7 @@ EOS
|
|||||||
|
|
||||||
stub pyenv-virtualenv-prefix "venv27 : echo \"${PYENV_ROOT}/versions/venv27\""
|
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\""
|
||||||
|
stub pyenv-prefix "venv27 : echo \"${PYENV_ROOT}/versions/venv27\""
|
||||||
|
|
||||||
PYENV_SHELL="fish" PYENV_VERSION="venv" run pyenv-sh-activate "venv27"
|
PYENV_SHELL="fish" PYENV_VERSION="venv" run pyenv-sh-activate "venv27"
|
||||||
|
|
||||||
@@ -232,10 +241,12 @@ EOS
|
|||||||
|
|
||||||
@test "should fail if the version is not a virtualenv" {
|
@test "should fail if the version is not a virtualenv" {
|
||||||
stub pyenv-virtualenv-prefix "3.3.3 : false"
|
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"
|
run pyenv-sh-activate "3.3.3"
|
||||||
|
|
||||||
unstub pyenv-virtualenv-prefix
|
unstub pyenv-virtualenv-prefix
|
||||||
|
unstub pyenv-prefix
|
||||||
|
|
||||||
assert_failure
|
assert_failure
|
||||||
assert_output <<EOS
|
assert_output <<EOS
|
||||||
@@ -246,10 +257,12 @@ EOS
|
|||||||
|
|
||||||
@test "should fail if the version is not a virtualenv (no-error)" {
|
@test "should fail if the version is not a virtualenv (no-error)" {
|
||||||
stub pyenv-virtualenv-prefix "3.3.3 : false"
|
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 --no-error "3.3.3"
|
run pyenv-sh-activate --no-error "3.3.3"
|
||||||
|
|
||||||
unstub pyenv-virtualenv-prefix
|
unstub pyenv-virtualenv-prefix
|
||||||
|
unstub pyenv-prefix
|
||||||
|
|
||||||
assert_failure
|
assert_failure
|
||||||
assert_output <<EOS
|
assert_output <<EOS
|
||||||
|
|||||||
@@ -11,20 +11,22 @@ load test_helper
|
|||||||
|
|
||||||
@test "detect parent shell from script (sh)" {
|
@test "detect parent shell from script (sh)" {
|
||||||
unset PYENV_SHELL
|
unset PYENV_SHELL
|
||||||
printf '#!/bin/sh\necho "$(pyenv-virtualenv-init -)"' > ${BATS_TEST_DIRNAME}/script.sh
|
printf '#!/bin/sh\necho "$(pyenv-virtualenv-init -)"' > "${TMP}/script.sh"
|
||||||
chmod +x ${BATS_TEST_DIRNAME}/script.sh
|
chmod +x ${TMP}/script.sh
|
||||||
run ${BATS_TEST_DIRNAME}/script.sh
|
run ${TMP}/script.sh
|
||||||
assert_success
|
assert_success
|
||||||
assert_output_contains_not ' PROMPT_COMMAND="_pyenv_virtualenv_hook;$PROMPT_COMMAND";'
|
assert_output_contains_not ' PROMPT_COMMAND="_pyenv_virtualenv_hook;$PROMPT_COMMAND";'
|
||||||
|
rm -f "${TMP}/script.sh"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "detect parent shell from script (bash)" {
|
@test "detect parent shell from script (bash)" {
|
||||||
unset PYENV_SHELL
|
unset PYENV_SHELL
|
||||||
printf '#!/bin/bash\necho "$(pyenv-virtualenv-init -)"' > ${BATS_TEST_DIRNAME}/script.sh
|
printf '#!/bin/bash\necho "$(pyenv-virtualenv-init -)"' > "${TMP}/script.sh"
|
||||||
chmod +x ${BATS_TEST_DIRNAME}/script.sh
|
chmod +x ${TMP}/script.sh
|
||||||
run ${BATS_TEST_DIRNAME}/script.sh
|
run ${TMP}/script.sh
|
||||||
assert_success
|
assert_success
|
||||||
assert_output_contains ' PROMPT_COMMAND="_pyenv_virtualenv_hook;$PROMPT_COMMAND";'
|
assert_output_contains ' PROMPT_COMMAND="_pyenv_virtualenv_hook;$PROMPT_COMMAND";'
|
||||||
|
rm -f "${TMP}/script.sh"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "sh-compatible instructions" {
|
@test "sh-compatible instructions" {
|
||||||
|
|||||||
Reference in New Issue
Block a user