diff --git a/libexec/pyenv b/libexec/pyenv index 65e80d22..05955aa7 100755 --- a/libexec/pyenv +++ b/libexec/pyenv @@ -44,13 +44,13 @@ fi export PYENV_ROOT if [ -z "${PYENV_DIR}" ]; then - PYENV_DIR="$(abs_dirname "$(pwd)/..")" + PYENV_DIR="$(pwd)" else cd "$PYENV_DIR" 2>/dev/null || { echo "pyenv: cannot change working directory to \`$PYENV_DIR'" exit 1 } >&2 - PYENV_DIR="$(abs_dirname "$(pwd)/..")" + PYENV_DIR="$(pwd)" cd "$OLDPWD" fi export PYENV_DIR diff --git a/libexec/pyenv-version-file b/libexec/pyenv-version-file index d4c563f9..b6b2fa35 100755 --- a/libexec/pyenv-version-file +++ b/libexec/pyenv-version-file @@ -4,8 +4,8 @@ set -e [ -n "$PYENV_DEBUG" ] && set -x find_local_version_file() { - local root="$1" - while [ -n "$root" ]; do + local prev root="$1" + while [ -n "$root" ] && [ "$root" != "$prev" ]; do if [ -e "${root}/.python-version" ]; then echo "${root}/.python-version" exit @@ -13,6 +13,7 @@ find_local_version_file() { echo "${root}/.pyenv-version" exit fi + prev="${root}" root="${root%/*}" done }