diff --git a/bin/pyenv-sh-activate b/bin/pyenv-sh-activate index ab225d8..4fff676 100755 --- a/bin/pyenv-sh-activate +++ b/bin/pyenv-sh-activate @@ -131,19 +131,21 @@ fish ) esac # anaconda/miniconda -if [[ "${versions}" != "${versions%/envs/*}" ]]; then - CONDA_DEFAULT_ENV="${versions##*/envs/}" -else - CONDA_DEFAULT_ENV="root" +if [ -x "${prefix}/bin/conda" ]; then + if [[ "${versions}" != "${versions%/envs/*}" ]]; then + CONDA_DEFAULT_ENV="${versions##*/envs/}" + else + CONDA_DEFAULT_ENV="root" + fi + case "${shell}" in + fish ) + echo "setenv CONDA_DEFAULT_ENV \"${CONDA_DEFAULT_ENV}\";" + ;; + * ) + echo "export CONDA_DEFAULT_ENV=\"${CONDA_DEFAULT_ENV}\";" + ;; + esac fi -case "${shell}" in -fish ) - echo "setenv CONDA_DEFAULT_ENV \"${CONDA_DEFAULT_ENV}\";" - ;; -* ) - echo "export CONDA_DEFAULT_ENV=\"${CONDA_DEFAULT_ENV}\";" - ;; -esac if [ -n "${PYTHONHOME}" ]; then case "${shell}" in diff --git a/bin/pyenv-sh-deactivate b/bin/pyenv-sh-deactivate index 1b55f5c..ee7e03e 100755 --- a/bin/pyenv-sh-deactivate +++ b/bin/pyenv-sh-deactivate @@ -81,14 +81,16 @@ esac # anaconda/miniconda -case "${shell}" in -fish ) - echo "set -e CONDA_DEFAULT_ENV;" - ;; -* ) - echo "unset CONDA_DEFAULT_ENV;" - ;; -esac +if [ -n "${CONDA_DEFAULT_ENV}" ]; then + case "${shell}" in + fish ) + echo "set -e CONDA_DEFAULT_ENV;" + ;; + * ) + echo "unset CONDA_DEFAULT_ENV;" + ;; + esac +fi if [ -n "${_OLD_VIRTUAL_PYTHONHOME}" ]; then case "${shell}" in diff --git a/test/activate.bats b/test/activate.bats index cd244c9..e812c07 100644 --- a/test/activate.bats +++ b/test/activate.bats @@ -26,7 +26,6 @@ setup() { unset PYENV_DEACTIVATE; export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"; export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"; -export CONDA_DEFAULT_ENV="root"; EOS } @@ -50,7 +49,6 @@ pyenv-virtualenv: activate venv unset PYENV_DEACTIVATE; export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"; export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"; -export CONDA_DEFAULT_ENV="root"; EOS } @@ -80,7 +78,6 @@ export PYENV_ACTIVATE_SHELL=1; unset PYENV_DEACTIVATE; export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv"; export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv"; -export CONDA_DEFAULT_ENV="root"; EOS } @@ -103,7 +100,6 @@ EOS set -e PYENV_DEACTIVATE; setenv PYENV_ACTIVATE "${PYENV_ROOT}/versions/venv"; setenv VIRTUAL_ENV "${PYENV_ROOT}/versions/venv"; -setenv CONDA_DEFAULT_ENV "root"; EOS } @@ -133,7 +129,6 @@ setenv PYENV_ACTIVATE_SHELL 1; set -e PYENV_DEACTIVATE; setenv PYENV_ACTIVATE "${PYENV_ROOT}/versions/venv"; setenv VIRTUAL_ENV "${PYENV_ROOT}/versions/venv"; -setenv CONDA_DEFAULT_ENV "root"; EOS } @@ -156,7 +151,6 @@ export PYENV_ACTIVATE_SHELL=1; unset PYENV_DEACTIVATE; export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv27"; export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv27"; -export CONDA_DEFAULT_ENV="root"; EOS } @@ -184,7 +178,6 @@ export PYENV_ACTIVATE_SHELL=1; unset PYENV_DEACTIVATE; export PYENV_ACTIVATE="${PYENV_ROOT}/versions/venv27"; export VIRTUAL_ENV="${PYENV_ROOT}/versions/venv27"; -export CONDA_DEFAULT_ENV="root"; EOS } @@ -207,7 +200,6 @@ setenv PYENV_ACTIVATE_SHELL 1; set -e PYENV_DEACTIVATE; setenv PYENV_ACTIVATE "${PYENV_ROOT}/versions/venv27"; setenv VIRTUAL_ENV "${PYENV_ROOT}/versions/venv27"; -setenv CONDA_DEFAULT_ENV "root"; EOS } @@ -235,7 +227,6 @@ setenv PYENV_ACTIVATE_SHELL 1; set -e PYENV_DEACTIVATE; setenv PYENV_ACTIVATE "${PYENV_ROOT}/versions/venv27"; setenv VIRTUAL_ENV "${PYENV_ROOT}/versions/venv27"; -setenv CONDA_DEFAULT_ENV "root"; EOS } diff --git a/test/conda-deactivate.bats b/test/conda-deactivate.bats index fe0425b..60956d7 100644 --- a/test/conda-deactivate.bats +++ b/test/conda-deactivate.bats @@ -10,6 +10,7 @@ setup() { 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" create_conda "anaconda-2.3.0" @@ -28,6 +29,8 @@ EOS 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" + create_conda "anaconda-2.3.0" @@ -46,6 +49,8 @@ EOS 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" + create_conda "anaconda-2.3.0" "foo" diff --git a/test/deactivate.bats b/test/deactivate.bats index 9e1ed6c..74f0e87 100644 --- a/test/deactivate.bats +++ b/test/deactivate.bats @@ -18,7 +18,6 @@ setup() { export PYENV_DEACTIVATE="$PYENV_ACTIVATE"; unset PYENV_ACTIVATE; unset VIRTUAL_ENV; -unset CONDA_DEFAULT_ENV; EOS } @@ -35,7 +34,6 @@ pyenv-virtualenv: deactivate venv export PYENV_DEACTIVATE="$PYENV_ACTIVATE"; unset PYENV_ACTIVATE; unset VIRTUAL_ENV; -unset CONDA_DEFAULT_ENV; EOS } @@ -51,7 +49,6 @@ EOS export PYENV_DEACTIVATE="$PYENV_ACTIVATE"; unset PYENV_ACTIVATE; unset VIRTUAL_ENV; -unset CONDA_DEFAULT_ENV; EOS } @@ -69,7 +66,6 @@ unset PYENV_ACTIVATE_SHELL; export PYENV_DEACTIVATE="$PYENV_ACTIVATE"; unset PYENV_ACTIVATE; unset VIRTUAL_ENV; -unset CONDA_DEFAULT_ENV; EOS } @@ -87,7 +83,6 @@ unset PYENV_ACTIVATE_SHELL; export PYENV_DEACTIVATE="$PYENV_ACTIVATE"; unset PYENV_ACTIVATE; unset VIRTUAL_ENV; -unset CONDA_DEFAULT_ENV; EOS } @@ -103,7 +98,6 @@ EOS export PYENV_DEACTIVATE="$VIRTUAL_ENV"; unset PYENV_ACTIVATE; unset VIRTUAL_ENV; -unset CONDA_DEFAULT_ENV; EOS } @@ -119,7 +113,6 @@ EOS setenv PYENV_DEACTIVATE "$PYENV_ACTIVATE"; set -e PYENV_ACTIVATE; set -e VIRTUAL_ENV; -set -e CONDA_DEFAULT_ENV; EOS } @@ -135,7 +128,6 @@ EOS setenv PYENV_DEACTIVATE "$PYENV_ACTIVATE"; set -e PYENV_ACTIVATE; set -e VIRTUAL_ENV; -set -e CONDA_DEFAULT_ENV; EOS } @@ -153,7 +145,6 @@ set -e PYENV_ACTIVATE_SHELL; setenv PYENV_DEACTIVATE "$PYENV_ACTIVATE"; set -e PYENV_ACTIVATE; set -e VIRTUAL_ENV; -set -e CONDA_DEFAULT_ENV; EOS } @@ -171,7 +162,6 @@ set -e PYENV_ACTIVATE_SHELL; setenv PYENV_DEACTIVATE "$PYENV_ACTIVATE"; set -e PYENV_ACTIVATE; set -e VIRTUAL_ENV; -set -e CONDA_DEFAULT_ENV; EOS } @@ -187,7 +177,6 @@ EOS setenv PYENV_DEACTIVATE "$VIRTUAL_ENV"; set -e PYENV_ACTIVATE; set -e VIRTUAL_ENV; -set -e CONDA_DEFAULT_ENV; EOS }