mirror of
https://github.com/pyenv/pyenv.git
synced 2024-12-18 14:52:59 -05:00
83e5459cfb
All scripts in libexec/ (excluding pyenv) are called through pyenv, therefore the shebang lines are not necessary. On some systems this provides a measurable increase in performance of the shell prompt. Related to pyenv/pyenv-virtualenv#259
27 lines
690 B
Text
Executable file
27 lines
690 B
Text
Executable file
set -e
|
|
[ -n "$PYENV_DEBUG" ] && set -x
|
|
|
|
# Remove pyenv-pip-rehash/libexec from PATH to avoid infinite loops in `pyenv-which` (yyuu/pyenv#146)
|
|
_PATH=":${PATH}:"
|
|
_HERE="$(dirname "${BASH_SOURCE[0]}")" # remove this from PATH
|
|
_PATH="${_PATH//:${_HERE}:/:}"
|
|
_PATH="${_PATH#:}"
|
|
_PATH="${_PATH%:}"
|
|
PATH="${_PATH}"
|
|
|
|
PYENV_COMMAND_PATH="$(pyenv-which "${PYENV_REHASH_REAL_COMMAND}")"
|
|
PYENV_BIN_PATH="${PYENV_COMMAND_PATH%/*}"
|
|
|
|
export PATH="${PYENV_BIN_PATH}:${PATH}"
|
|
|
|
STATUS=0
|
|
"$PYENV_COMMAND_PATH" "$@" || STATUS="$?"
|
|
|
|
# Run `pyenv-rehash` after a successful installation.
|
|
if [ "$STATUS" == "0" ]; then
|
|
case "$1" in
|
|
"install" | "remove" | "uninstall") pyenv-rehash;;
|
|
esac
|
|
fi
|
|
|
|
exit "$STATUS"
|