diff --git a/etc/pyenv.d/which/system-site-packages.bash b/etc/pyenv.d/which/system-site-packages.bash index 4838725..8b49790 100644 --- a/etc/pyenv.d/which/system-site-packages.bash +++ b/etc/pyenv.d/which/system-site-packages.bash @@ -5,27 +5,31 @@ if [ ! -x "${PYENV_COMMAND_PATH}" ]; then virtualenv_prefix="$(pyenv-virtualenv-prefix 2>/dev/null || true)" - if [ -d "${virtualenv_prefix}" ]; then + if [ -d "$(pyenv-prefix)" ] && [ -d "${virtualenv_prefix}" ]; then unset include_system_site_packages - if [ -f "$(pyenv-prefix)/pyvenv.cfg" ]; then - # pyvenv - if grep -q -i "include-system-site-packages *= *true" "$(pyenv-prefix)/pyvenv.cfg" 1>/dev/null 2>&1; then - include_system_site_packages=1 - fi + if [ -f "$(pyenv-prefix)/bin/conda" ]; then + : # do nothing for conda's environments else - # virtualenv - shopt -s nullglob - no_global_site_packages="$(echo "$(pyenv-prefix)/lib/"*"/no-global-site-packages.txt")" - shopt -u nullglob - if [ ! -f "${no_global_site_packages}" ]; then - include_system_site_packages=1 + if [ -f "$(pyenv-prefix)/pyvenv.cfg" ]; then + # pyvenv + if grep -q -i "include-system-site-packages *= *true" "$(pyenv-prefix)/pyvenv.cfg" 1>/dev/null 2>&1; then + include_system_site_packages=1 + fi + else + # virtualenv + shopt -s nullglob + no_global_site_packages="$(echo "$(pyenv-prefix)/lib/"*"/no-global-site-packages.txt")" + shopt -u nullglob + if [ ! -f "${no_global_site_packages}" ]; then + include_system_site_packages=1 + fi fi - fi - if [ -n "${include_system_site_packages}" ]; then - # virtualenv is created with `--system-site-packages` - virtualenv_command_path="${virtualenv_prefix}/bin/${PYENV_COMMAND_PATH##*/}" - if [ -x "${virtualenv_command_path}" ]; then - PYENV_COMMAND_PATH="${virtualenv_command_path}" + if [ -n "${include_system_site_packages}" ]; then + # virtualenv is created with `--system-site-packages` + virtualenv_command_path="${virtualenv_prefix}/bin/${PYENV_COMMAND_PATH##*/}" + if [ -x "${virtualenv_command_path}" ]; then + PYENV_COMMAND_PATH="${virtualenv_command_path}" + fi fi fi fi