Pārlūkot izejas kodu

Add `PYENV_VIRTUAL_ENV` to check if the virtualenv has been activated via pyenv-virtualenv or not (#128)

pull/131/head
Yamashita, Yuu pirms 8 gadiem
vecāks
revīzija
17d22e7a13
6 mainītis faili ar 72 papildinājumiem un 11 dzēšanām
  1. +17
    -9
      bin/pyenv-sh-activate
  2. +8
    -2
      bin/pyenv-sh-deactivate
  3. +11
    -0
      test/activate.bats
  4. +6
    -0
      test/conda-activate.bats
  5. +7
    -0
      test/conda-deactivate.bats
  6. +23
    -0
      test/deactivate.bats

+ 17
- 9
bin/pyenv-sh-activate Parādīt failu

@ -73,14 +73,16 @@ fi
venv="${versions}"
# exit as success if some virtualenv outside from pyenv is already activated
if [ -n "${VIRTUAL_ENV}" ] && [[ "${VIRTUAL_ENV}" != "${PYENV_ROOT}/versions/"* ]]; then
if [ -z "${FORCE}" ]; then
if [ -z "${QUIET}" ]; then
echo "pyenv-virtualenv: virtualenv \`${VIRTUAL_ENV}' is already activated" 1>&2
if [ -n "${VIRTUAL_ENV}" ]; then
# exit as success if some virtualenv is already activated outside from pyenv-virtualenv
if [ -z "${PYENV_VIRTUAL_ENV}" ]; then
if [ -z "${FORCE}" ]; then
if [ -z "${QUIET}" ]; then
echo "pyenv-virtualenv: virtualenv \`${VIRTUAL_ENV}' is already activated" 1>&2
fi
echo "true"
exit 0
fi
echo "true"
exit 0
fi
fi
@ -163,10 +165,16 @@ fi
# virtualenv/pyvenv
case "${shell}" in
fish )
echo "setenv VIRTUAL_ENV \"${prefix}\";"
cat <<EOS
setenv PYENV_VIRTUAL_ENV "${prefix}";
setenv VIRTUAL_ENV "${prefix}";
EOS
;;
* )
echo "export VIRTUAL_ENV=\"${prefix}\";"
cat <<EOS
export PYENV_VIRTUAL_ENV="${prefix}";
export VIRTUAL_ENV="${prefix}";
EOS
;;
esac

+ 8
- 2
bin/pyenv-sh-deactivate Parādīt failu

@ -82,10 +82,16 @@ fi
# virtualenv/pyvenv
case "${shell}" in
fish )
echo "set -e VIRTUAL_ENV;"
cat <<EOS
set -e PYENV_VIRTUAL_ENV;
set -e VIRTUAL_ENV;
EOS
;;
* )
echo "unset VIRTUAL_ENV;"
cat <<EOS
unset PYENV_VIRTUAL_ENV;
unset VIRTUAL_ENV;
EOS
;;
esac

+ 11
- 0
test/activate.bats Parādīt failu

@ -31,6 +31,7 @@ setup() {
assert_output <<EOS
deactivated
pyenv-virtualenv: activate venv
export PYENV_VIRTUAL_ENV="${PYENV_ROOT}/versions/venv";
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv";
pyenv-virtualenv: prompt changing will be removed from future release. configure \`export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.
export _OLD_VIRTUAL_PS1="\${PS1}";
@ -57,6 +58,7 @@ EOS
assert_output <<EOS
deactivated
pyenv-virtualenv: activate venv
export PYENV_VIRTUAL_ENV="${PYENV_ROOT}/versions/venv";
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv";
pyenv-virtualenv: prompt changing will be removed from future release. configure \`export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.
export _OLD_VIRTUAL_PS1="\${PS1}";
@ -85,6 +87,7 @@ deactivated
pyenv-virtualenv: activate venv
export PYENV_VERSION="venv";
export PYENV_ACTIVATE_SHELL=1;
export PYENV_VIRTUAL_ENV="${PYENV_ROOT}/versions/venv";
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv";
pyenv-virtualenv: prompt changing will be removed from future release. configure \`export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.
export _OLD_VIRTUAL_PS1="\${PS1}";
@ -111,6 +114,7 @@ EOS
assert_output <<EOS
deactivated
pyenv-virtualenv: activate venv
setenv PYENV_VIRTUAL_ENV "${PYENV_ROOT}/versions/venv";
setenv VIRTUAL_ENV "${PYENV_ROOT}/versions/venv";
pyenv-virtualenv: prompt changing not work for fish.
EOS
@ -137,6 +141,7 @@ deactivated
pyenv-virtualenv: activate venv
setenv PYENV_VERSION "venv";
setenv PYENV_ACTIVATE_SHELL 1;
setenv PYENV_VIRTUAL_ENV "${PYENV_ROOT}/versions/venv";
setenv VIRTUAL_ENV "${PYENV_ROOT}/versions/venv";
pyenv-virtualenv: prompt changing not work for fish.
EOS
@ -162,6 +167,7 @@ deactivated
pyenv-virtualenv: activate venv27
export PYENV_VERSION="venv27";
export PYENV_ACTIVATE_SHELL=1;
export PYENV_VIRTUAL_ENV="${PYENV_ROOT}/versions/venv27";
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv27";
pyenv-virtualenv: prompt changing will be removed from future release. configure \`export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.
export _OLD_VIRTUAL_PS1="\${PS1}";
@ -188,6 +194,7 @@ deactivated
pyenv-virtualenv: activate venv27
export PYENV_VERSION="venv27";
export PYENV_ACTIVATE_SHELL=1;
export PYENV_VIRTUAL_ENV="${PYENV_ROOT}/versions/venv27";
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv27";
pyenv-virtualenv: prompt changing will be removed from future release. configure \`export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.
export _OLD_VIRTUAL_PS1="\${PS1}";
@ -214,6 +221,7 @@ deactivated
pyenv-virtualenv: activate venv27
setenv PYENV_VERSION "venv27";
setenv PYENV_ACTIVATE_SHELL 1;
setenv PYENV_VIRTUAL_ENV "${PYENV_ROOT}/versions/venv27";
setenv VIRTUAL_ENV "${PYENV_ROOT}/versions/venv27";
pyenv-virtualenv: prompt changing not work for fish.
EOS
@ -238,6 +246,7 @@ deactivated
pyenv-virtualenv: activate venv27
setenv PYENV_VERSION "venv27";
setenv PYENV_ACTIVATE_SHELL 1;
setenv PYENV_VIRTUAL_ENV "${PYENV_ROOT}/versions/venv27";
setenv VIRTUAL_ENV "${PYENV_ROOT}/versions/venv27";
pyenv-virtualenv: prompt changing not work for fish.
EOS
@ -248,6 +257,7 @@ EOS
}
@test "unset invokes deactivate" {
export PYENV_VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE_SHELL=
@ -360,6 +370,7 @@ deactivated
pyenv-virtualenv: activate venv27
export PYENV_VERSION="venv27:2.7.10";
export PYENV_ACTIVATE_SHELL=1;
export PYENV_VIRTUAL_ENV="${PYENV_ROOT}/versions/venv27";
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv27";
pyenv-virtualenv: prompt changing will be removed from future release. configure \`export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.
export _OLD_VIRTUAL_PS1="\${PS1}";

+ 6
- 0
test/conda-activate.bats Parādīt failu

@ -7,6 +7,7 @@ setup() {
export PYENV_ROOT="${TMP}/pyenv"
unset PYENV_VERSION
unset PYENV_ACTIVATE_SHELL
unset PYENV_VIRTUAL_ENV
unset VIRTUAL_ENV
unset CONDA_DEFAULT_ENV
unset PYTHONHOME
@ -32,6 +33,7 @@ setup() {
assert_output <<EOS
deactivated
pyenv-virtualenv: activate anaconda-2.3.0
export PYENV_VIRTUAL_ENV="${PYENV_ROOT}/versions/anaconda-2.3.0";
export VIRTUAL_ENV="${PYENV_ROOT}/versions/anaconda-2.3.0";
export CONDA_DEFAULT_ENV="root";
pyenv-virtualenv: prompt changing will be removed from future release. configure \`export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.
@ -61,6 +63,7 @@ EOS
assert_output <<EOS
deactivated
pyenv-virtualenv: activate anaconda-2.3.0
setenv PYENV_VIRTUAL_ENV "${TMP}/pyenv/versions/anaconda-2.3.0";
setenv VIRTUAL_ENV "${TMP}/pyenv/versions/anaconda-2.3.0";
setenv CONDA_DEFAULT_ENV "root";
pyenv-virtualenv: prompt changing not work for fish.
@ -90,6 +93,7 @@ deactivated
pyenv-virtualenv: activate miniconda-3.9.1
export PYENV_VERSION="miniconda-3.9.1";
export PYENV_ACTIVATE_SHELL=1;
export PYENV_VIRTUAL_ENV="${PYENV_ROOT}/versions/miniconda-3.9.1";
export VIRTUAL_ENV="${PYENV_ROOT}/versions/miniconda-3.9.1";
export CONDA_DEFAULT_ENV="root";
pyenv-virtualenv: prompt changing will be removed from future release. configure \`export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.
@ -119,6 +123,7 @@ EOS
assert_output <<EOS
deactivated
pyenv-virtualenv: activate anaconda-2.3.0/envs/foo
export PYENV_VIRTUAL_ENV="${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";
pyenv-virtualenv: prompt changing will be removed from future release. configure \`export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.
@ -150,6 +155,7 @@ deactivated
pyenv-virtualenv: activate miniconda-3.9.1/envs/bar
export PYENV_VERSION="miniconda-3.9.1/envs/bar";
export PYENV_ACTIVATE_SHELL=1;
export PYENV_VIRTUAL_ENV="${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";
pyenv-virtualenv: prompt changing will be removed from future release. configure \`export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.

+ 7
- 0
test/conda-deactivate.bats Parādīt failu

@ -6,6 +6,7 @@ setup() {
export PYENV_ROOT="${TMP}/pyenv"
unset PYENV_VERSION
unset PYENV_ACTIVATE_SHELL
unset PYENV_VIRTUAL_ENV
unset VIRTUAL_ENV
unset CONDA_DEFAULT_ENV
unset PYTHONHOME
@ -17,6 +18,7 @@ setup() {
}
@test "deactivate conda root" {
export PYENV_VIRTUAL_ENV="${PYENV_ROOT}/versions/anaconda-2.3.0"
export VIRTUAL_ENV="${PYENV_ROOT}/versions/anaconda-2.3.0"
export PYENV_ACTIVATE_SHELL=
export CONDA_DEFAULT_ENV="root"
@ -28,6 +30,7 @@ setup() {
assert_success
assert_output <<EOS
pyenv-virtualenv: deactivate anaconda-2.3.0
unset PYENV_VIRTUAL_ENV;
unset VIRTUAL_ENV;
unset CONDA_DEFAULT_ENV;
if [ -n "\${_OLD_VIRTUAL_PATH}" ]; then
@ -51,6 +54,7 @@ EOS
}
@test "deactivate conda root (fish)" {
export PYENV_VIRTUAL_ENV="${PYENV_ROOT}/versions/anaconda-2.3.0"
export VIRTUAL_ENV="${PYENV_ROOT}/versions/anaconda-2.3.0"
export PYENV_ACTIVATE_SHELL=
export CONDA_DEFAULT_ENV="root"
@ -62,6 +66,7 @@ EOS
assert_success
assert_output <<EOS
pyenv-virtualenv: deactivate anaconda-2.3.0
set -e PYENV_VIRTUAL_ENV;
set -e VIRTUAL_ENV;
set -e CONDA_DEFAULT_ENV;
if [ -n "\$_OLD_VIRTUAL_PATH" ];
@ -81,6 +86,7 @@ EOS
}
@test "deactivate conda env" {
export PYENV_VIRTUAL_ENV="${PYENV_ROOT}/versions/anaconda-2.3.0/envs/foo"
export VIRTUAL_ENV="${PYENV_ROOT}/versions/anaconda-2.3.0/envs/foo"
export PYENV_ACTIVATE_SHELL=
export CONDA_DEFAULT_ENV="foo"
@ -92,6 +98,7 @@ EOS
assert_success
assert_output <<EOS
pyenv-virtualenv: deactivate anaconda-2.3.0/envs/foo
unset PYENV_VIRTUAL_ENV;
unset VIRTUAL_ENV;
unset CONDA_DEFAULT_ENV;
if [ -n "\${_OLD_VIRTUAL_PATH}" ]; then

+ 23
- 0
test/deactivate.bats Parādīt failu

@ -6,6 +6,7 @@ setup() {
export PYENV_ROOT="${TMP}/pyenv"
unset PYENV_VERSION
unset PYENV_ACTIVATE_SHELL
unset PYENV_VIRTUAL_ENV
unset VIRTUAL_ENV
unset CONDA_DEFAULT_ENV
unset PYTHONHOME
@ -18,6 +19,7 @@ setup() {
@test "deactivate virtualenv" {
export PYENV_VIRTUALENV_INIT=1
export PYENV_VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE_SHELL=
@ -26,6 +28,7 @@ setup() {
assert_success
assert_output <<EOS
pyenv-virtualenv: deactivate venv
unset PYENV_VIRTUAL_ENV;
unset VIRTUAL_ENV;
if [ -n "\${_OLD_VIRTUAL_PATH}" ]; then
export PATH="\${_OLD_VIRTUAL_PATH}";
@ -47,6 +50,7 @@ EOS
@test "deactivate virtualenv (verbose)" {
export PYENV_VIRTUALENV_INIT=1
export PYENV_VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE_SHELL=
@ -55,6 +59,7 @@ EOS
assert_success
assert_output <<EOS
pyenv-virtualenv: deactivate venv
unset PYENV_VIRTUAL_ENV;
unset VIRTUAL_ENV;
if [ -n "\${_OLD_VIRTUAL_PATH}" ]; then
export PATH="\${_OLD_VIRTUAL_PATH}";
@ -76,6 +81,7 @@ EOS
@test "deactivate virtualenv (quiet)" {
export PYENV_VIRTUALENV_INIT=1
export PYENV_VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE_SHELL=
@ -84,6 +90,7 @@ EOS
assert_success
assert_output <<EOS
pyenv-virtualenv: deactivate venv
unset PYENV_VIRTUAL_ENV;
unset VIRTUAL_ENV;
if [ -n "\${_OLD_VIRTUAL_PATH}" ]; then
export PATH="\${_OLD_VIRTUAL_PATH}";
@ -105,6 +112,7 @@ EOS
@test "deactivate virtualenv (with shell activation)" {
export PYENV_VIRTUALENV_INIT=1
export PYENV_VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE_SHELL=1
@ -115,6 +123,7 @@ EOS
pyenv-virtualenv: deactivate venv
unset PYENV_VERSION;
unset PYENV_ACTIVATE_SHELL;
unset PYENV_VIRTUAL_ENV;
unset VIRTUAL_ENV;
if [ -n "\${_OLD_VIRTUAL_PATH}" ]; then
export PATH="\${_OLD_VIRTUAL_PATH}";
@ -136,6 +145,7 @@ EOS
@test "deactivate virtualenv (with shell activation) (quiet)" {
export PYENV_VIRTUALENV_INIT=1
export PYENV_VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE_SHELL=1
@ -146,6 +156,7 @@ EOS
pyenv-virtualenv: deactivate venv
unset PYENV_VERSION;
unset PYENV_ACTIVATE_SHELL;
unset PYENV_VIRTUAL_ENV;
unset VIRTUAL_ENV;
if [ -n "\${_OLD_VIRTUAL_PATH}" ]; then
export PATH="\${_OLD_VIRTUAL_PATH}";
@ -167,6 +178,7 @@ EOS
@test "deactivate virtualenv which has been activated manually" {
export PYENV_VIRTUALENV_INIT=1
export PYENV_VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE_SHELL=
@ -175,6 +187,7 @@ EOS
assert_success
assert_output <<EOS
pyenv-virtualenv: deactivate venv
unset PYENV_VIRTUAL_ENV;
unset VIRTUAL_ENV;
if [ -n "\${_OLD_VIRTUAL_PATH}" ]; then
export PATH="\${_OLD_VIRTUAL_PATH}";
@ -196,6 +209,7 @@ EOS
@test "deactivate virtualenv (fish)" {
export PYENV_VIRTUALENV_INIT=1
export PYENV_VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE_SHELL=
@ -204,6 +218,7 @@ EOS
assert_success
assert_output <<EOS
pyenv-virtualenv: deactivate venv
set -e PYENV_VIRTUAL_ENV;
set -e VIRTUAL_ENV;
if [ -n "\$_OLD_VIRTUAL_PATH" ];
setenv PATH "\$_OLD_VIRTUAL_PATH";
@ -221,6 +236,7 @@ EOS
@test "deactivate virtualenv (fish) (quiet)" {
export PYENV_VIRTUALENV_INIT=1
export PYENV_VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE_SHELL=
@ -229,6 +245,7 @@ EOS
assert_success
assert_output <<EOS
pyenv-virtualenv: deactivate venv
set -e PYENV_VIRTUAL_ENV;
set -e VIRTUAL_ENV;
if [ -n "\$_OLD_VIRTUAL_PATH" ];
setenv PATH "\$_OLD_VIRTUAL_PATH";
@ -246,6 +263,7 @@ EOS
@test "deactivate virtualenv (fish) (with shell activation)" {
export PYENV_VIRTUALENV_INIT=1
export PYENV_VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE_SHELL=1
@ -256,6 +274,7 @@ EOS
pyenv-virtualenv: deactivate venv
set -e PYENV_VERSION;
set -e PYENV_ACTIVATE_SHELL;
set -e PYENV_VIRTUAL_ENV;
set -e VIRTUAL_ENV;
if [ -n "\$_OLD_VIRTUAL_PATH" ];
setenv PATH "\$_OLD_VIRTUAL_PATH";
@ -273,6 +292,7 @@ EOS
@test "deactivate virtualenv (fish) (with shell activation) (quiet)" {
export PYENV_VIRTUALENV_INIT=1
export PYENV_VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE_SHELL=1
@ -283,6 +303,7 @@ EOS
pyenv-virtualenv: deactivate venv
set -e PYENV_VERSION;
set -e PYENV_ACTIVATE_SHELL;
set -e PYENV_VIRTUAL_ENV;
set -e VIRTUAL_ENV;
if [ -n "\$_OLD_VIRTUAL_PATH" ];
setenv PATH "\$_OLD_VIRTUAL_PATH";
@ -300,6 +321,7 @@ EOS
@test "deactivate virtualenv which has been activated manually (fish)" {
export PYENV_VIRTUALENV_INIT=1
export PYENV_VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"
export PYENV_ACTIVATE_SHELL=
@ -308,6 +330,7 @@ EOS
assert_success
assert_output <<EOS
pyenv-virtualenv: deactivate venv
set -e PYENV_VIRTUAL_ENV;
set -e VIRTUAL_ENV;
if [ -n "\$_OLD_VIRTUAL_PATH" ];
setenv PATH "\$_OLD_VIRTUAL_PATH";

Notiek ielāde…
Atcelt
Saglabāt