- #!/usr/bin/env bash
- # Summary: Display prefix for a Python version
- # Usage: pyenv prefix [<version>]
- #
- # Displays the directory where a Python version is installed. If no
- # version is given, `pyenv prefix' displays the location of the
- # currently selected version.
-
- set -e
- [ -n "$PYENV_DEBUG" ] && set -x
-
- # Provide pyenv completions
- if [ "$1" = "--complete" ]; then
- echo system
- exec pyenv-versions --bare
- fi
-
- if [ -n "$1" ]; then
- versions=($@)
- IFS=: PYENV_VERSION="${versions[*]}"
- export PYENV_VERSION
- else
- IFS=: versions=($(pyenv-version-name))
- fi
-
- PYENV_PREFIX_PATHS=()
- for version in "${versions[@]}"; do
- if [ "$version" = "system" ]; then
- PYTHON_PATH="$(PYENV_VERSION="${version}" pyenv-which python || true)"
- PYENV_PREFIX_PATH="${PYTHON_PATH%/*}"
- else
- PYENV_PREFIX_PATH="${PYENV_ROOT}/versions/${version}"
- fi
- if [ -d "$PYENV_PREFIX_PATH" ]; then
- PYENV_PREFIX_PATHS=("${PYENV_PREFIX_PATHS[@]}" "$PYENV_PREFIX_PATH")
- else
- echo "pyenv: version \`${version}' not installed" >&2
- exit 1
- fi
- done
-
- IFS=: echo "${PYENV_PREFIX_PATHS[*]}"
|