#!/usr/bin/env bash # Summary: Display prefix for a Python version # Usage: pyenv prefix [] # # 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[*]}"