Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

53 wiersze
1.1 KiB

  1. #!/usr/bin/env bash
  2. # Summary: Show the current Python version
  3. set -e
  4. [ -n "$PYENV_DEBUG" ] && set -x
  5. if [ -z "$PYENV_VERSION" ]; then
  6. PYENV_VERSION_FILE="$(pyenv-version-file)"
  7. PYENV_VERSION="$(pyenv-version-file-read "$PYENV_VERSION_FILE" || true)"
  8. fi
  9. OLDIFS="$IFS"
  10. IFS=$'\n' scripts=(`pyenv-hooks version-name`)
  11. IFS="$OLDIFS"
  12. for script in "${scripts[@]}"; do
  13. source "$script"
  14. done
  15. if [ -z "$PYENV_VERSION" ] || [ "$PYENV_VERSION" = "system" ]; then
  16. echo "system"
  17. exit
  18. fi
  19. version_exists() {
  20. local version="$1"
  21. [ -d "${PYENV_ROOT}/versions/${version}" ]
  22. }
  23. versions=()
  24. OLDIFS="$IFS"
  25. { IFS=:
  26. any_not_installed=0
  27. for version in ${PYENV_VERSION}; do
  28. if version_exists "$version" || [ "$version" = "system" ]; then
  29. versions=("${versions[@]}" "${version}")
  30. elif version_exists "${version#python-}"; then
  31. versions=("${versions[@]}" "${version#python-}")
  32. else
  33. echo "pyenv: version \`$version' is not installed (set by $(pyenv-version-origin))" >&2
  34. any_not_installed=1
  35. fi
  36. done
  37. }
  38. IFS="$OLDIFS"
  39. OLDIFS="$IFS"
  40. { IFS=:
  41. echo "${versions[*]}"
  42. }
  43. IFS="$OLDIFS"
  44. if [ "$any_not_installed" = 1 ]; then
  45. exit 1
  46. fi