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.

56 lines
1.3 KiB

преди 11 години
преди 11 години
преди 10 години
преди 11 години
преди 10 години
преди 10 години
преди 11 години
  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-which python 2>/dev/null)"; then
  30. PYENV_PREFIX_PATH="${PYTHON_PATH%/bin/*}"
  31. else
  32. echo "pyenv: system version not found in PATH" >&2
  33. exit 1
  34. fi
  35. else
  36. PYENV_PREFIX_PATH="${PYENV_ROOT}/versions/${version}"
  37. fi
  38. if [ -d "$PYENV_PREFIX_PATH" ]; then
  39. PYENV_PREFIX_PATHS=("${PYENV_PREFIX_PATHS[@]}" "$PYENV_PREFIX_PATH")
  40. else
  41. echo "pyenv: version \`${version}' not installed" >&2
  42. exit 1
  43. fi
  44. done
  45. }
  46. IFS="$OLDIFS"
  47. OLDIFS="$IFS"
  48. { IFS=:
  49. echo "${PYENV_PREFIX_PATHS[*]}"
  50. }
  51. IFS="$OLDIFS"