From 4d762bca7ba5b75d7359275613af339419b5f5d7 Mon Sep 17 00:00:00 2001 From: Paul Bransford Date: Tue, 7 Jul 2020 18:39:52 -0400 Subject: [PATCH 1/2] fix 'system' python to be present if 'python3' is on path but not 'python' --- libexec/pyenv-prefix | 2 +- libexec/pyenv-versions | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libexec/pyenv-prefix b/libexec/pyenv-prefix index ac04f6bc..a2ee880e 100755 --- a/libexec/pyenv-prefix +++ b/libexec/pyenv-prefix @@ -30,7 +30,7 @@ OLDIFS="$IFS" { IFS=: for version in ${PYENV_VERSION}; do if [ "$version" = "system" ]; then - if PYTHON_PATH="$(PYENV_VERSION="${version}" pyenv-which python 2>/dev/null)"; then + if PYTHON_PATH="$(PYENV_VERSION="${version}" pyenv-which python 2>/dev/null)" || PYTHON_PATH="$(PYENV_VERSION="${version}" pyenv-which python3 2>/dev/null)"; then PYENV_PREFIX_PATH="${PYTHON_PATH%/bin/*}" PYENV_PREFIX_PATH="${PYENV_PREFIX_PATH:-/}" else diff --git a/libexec/pyenv-versions b/libexec/pyenv-versions index 019c0e90..1e3302d2 100755 --- a/libexec/pyenv-versions +++ b/libexec/pyenv-versions @@ -102,7 +102,7 @@ print_version() { } # Include "system" in the non-bare output, if it exists -if [ -n "$include_system" ] && PYENV_VERSION=system pyenv-which python >/dev/null 2>&1; then +if [ -n "$include_system" ] && (PYENV_VERSION=system pyenv-which python >/dev/null 2>&1 || PYENV_VERSION=system pyenv-which python3 >/dev/null 2>&1); then print_version system fi From f77c2d7eab15d3ec04751c4545fabf5d5c56342b Mon Sep 17 00:00:00 2001 From: Ivan Pozdeev Date: Mon, 21 Sep 2020 18:53:09 +0300 Subject: [PATCH 2/2] Detect Py2 presence as well --- libexec/pyenv-prefix | 4 +++- libexec/pyenv-versions | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/libexec/pyenv-prefix b/libexec/pyenv-prefix index a2ee880e..9e20a21a 100755 --- a/libexec/pyenv-prefix +++ b/libexec/pyenv-prefix @@ -30,7 +30,9 @@ OLDIFS="$IFS" { IFS=: for version in ${PYENV_VERSION}; do if [ "$version" = "system" ]; then - if PYTHON_PATH="$(PYENV_VERSION="${version}" pyenv-which python 2>/dev/null)" || PYTHON_PATH="$(PYENV_VERSION="${version}" pyenv-which python3 2>/dev/null)"; then + if PYTHON_PATH="$(PYENV_VERSION="${version}" pyenv-which python 2>/dev/null)" || \ + PYTHON_PATH="$(PYENV_VERSION="${version}" pyenv-which python3 2>/dev/null)" || \ + PYTHON_PATH="$(PYENV_VERSION="${version}" pyenv-which python2 2>/dev/null)"; then PYENV_PREFIX_PATH="${PYTHON_PATH%/bin/*}" PYENV_PREFIX_PATH="${PYENV_PREFIX_PATH:-/}" else diff --git a/libexec/pyenv-versions b/libexec/pyenv-versions index 1e3302d2..195f4590 100755 --- a/libexec/pyenv-versions +++ b/libexec/pyenv-versions @@ -102,7 +102,10 @@ print_version() { } # Include "system" in the non-bare output, if it exists -if [ -n "$include_system" ] && (PYENV_VERSION=system pyenv-which python >/dev/null 2>&1 || PYENV_VERSION=system pyenv-which python3 >/dev/null 2>&1); then +if [ -n "$include_system" ] && \ + (PYENV_VERSION=system pyenv-which python >/dev/null 2>&1 || \ + PYENV_VERSION=system pyenv-which python3 >/dev/null 2>&1 || \ + PYENV_VERSION=system pyenv-which python2 >/dev/null 2>&1) ; then print_version system fi