#!/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=($@) OLDIFS="$IFS" IFS=: PYENV_VERSION="${versions[*]}" IFS="$OLDIFS" export PYENV_VERSION else OLDIFS="$IFS" IFS=: versions=($(pyenv-version-name)) IFS="$OLDIFS" 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%/bin/*}" 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 OLDIFS="$IFS" { IFS=: echo "${PYENV_PREFIX_PATHS[*]}" } IFS="$OLDIFS"