mirror of
https://github.com/pyenv/pyenv.git
synced 2024-11-21 20:47:00 -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
29 lines
731 B
Text
Executable file
29 lines
731 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
|
|
for piparg in "$@"; do
|
|
case ${piparg} in
|
|
"install" | "uninstall" ) pyenv-rehash ; break;;
|
|
esac
|
|
done
|
|
fi
|
|
|
|
exit "$STATUS"
|