You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 rivejä
1.5 KiB

11 vuotta sitten
10 vuotta sitten
11 vuotta sitten
10 vuotta sitten
10 vuotta sitten
10 vuotta sitten
10 vuotta sitten
11 vuotta sitten
  1. #!/usr/bin/env bash
  2. # Summary: Display prefix for a Python version
  3. # Usage: pyenv prefix [<version>]
  4. #
  5. # Displays the directory where a Python version is installed. If no
  6. # version is given, `pyenv prefix' displays the location of the
  7. # currently selected version.
  8. set -e
  9. [ -n "$PYENV_DEBUG" ] && set -x
  10. # Provide pyenv completions
  11. if [ "$1" = "--complete" ]; then
  12. echo system
  13. exec pyenv-versions --bare
  14. fi
  15. if [ -n "$1" ]; then
  16. OLDIFS="$IFS"
  17. { IFS=:
  18. export PYENV_VERSION="$*"
  19. }
  20. IFS="$OLDIFS"
  21. elif [ -z "$PYENV_VERSION" ]; then
  22. PYENV_VERSION="$(pyenv-version-name)"
  23. fi
  24. PYENV_PREFIX_PATHS=()
  25. OLDIFS="$IFS"
  26. { IFS=:
  27. for version in ${PYENV_VERSION}; do
  28. if [ "$version" = "system" ]; then
  29. if PYTHON_PATH="$(PYENV_VERSION="${version}" pyenv-which python 2>/dev/null)" || \
  30. PYTHON_PATH="$(PYENV_VERSION="${version}" pyenv-which python3 2>/dev/null)" || \
  31. PYTHON_PATH="$(PYENV_VERSION="${version}" pyenv-which python2 2>/dev/null)"; then
  32. PYENV_PREFIX_PATH="${PYTHON_PATH%/bin/*}"
  33. PYENV_PREFIX_PATH="${PYENV_PREFIX_PATH:-/}"
  34. else
  35. echo "pyenv: system version not found in PATH" >&2
  36. exit 1
  37. fi
  38. else
  39. PYENV_PREFIX_PATH="${PYENV_ROOT}/versions/${version}"
  40. fi
  41. if [ -d "$PYENV_PREFIX_PATH" ]; then
  42. PYENV_PREFIX_PATHS=("${PYENV_PREFIX_PATHS[@]}" "$PYENV_PREFIX_PATH")
  43. else
  44. echo "pyenv: version \`${version}' not installed" >&2
  45. exit 1
  46. fi
  47. done
  48. }
  49. IFS="$OLDIFS"
  50. OLDIFS="$IFS"
  51. { IFS=:
  52. echo "${PYENV_PREFIX_PATHS[*]}"
  53. }
  54. IFS="$OLDIFS"