diff --git a/etc/pyenv.d/which/system-site-packages.bash b/etc/pyenv.d/which/system-site-packages.bash new file mode 100644 index 0000000..956de12 --- /dev/null +++ b/etc/pyenv.d/which/system-site-packages.bash @@ -0,0 +1,20 @@ +# if virtualenv is created with `--system-site-packages`, +# looks up executables for source version as well if none is +# installed in the virtualenv. +# https://github.com/yyuu/pyenv-virtualenv/issues/62 + +if [ ! -x "${PYENV_COMMAND_PATH}" ]; then + virtualenv_prefix="$(pyenv-virtualenv-prefix 2>/dev/null || true)" + if [ -d "${virtualenv_prefix}" ]; then + 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 + # 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