
When doing `pip install ...`, the command is redirected to `pyenv.d/exec/pip-rehash/pip`, which does a `pyenv rehash` after installation. A simple fix to issue #3031 is to make `python -m pip` commands go through the same special hook script.
18 lines
625 B
Bash
18 lines
625 B
Bash
PYENV_PIP_REHASH_ROOT="${BASH_SOURCE[0]%/*}/pip-rehash"
|
|
PYENV_REHASH_COMMAND="${PYENV_COMMAND##*/}"
|
|
|
|
# Remove any version information, from e.g. "pip2" or "pip3.4".
|
|
if [[ $PYENV_REHASH_COMMAND =~ ^(pip|easy_install)[23](\.\d)?$ ]]; then
|
|
PYENV_REHASH_COMMAND="${BASH_REMATCH[1]}"
|
|
fi
|
|
|
|
if [[ $1 == "python" && $2 == "-m" && $3 == "pip" ]]; then
|
|
PYENV_REHASH_COMMAND="pip"
|
|
fi
|
|
|
|
if [ -x "${PYENV_PIP_REHASH_ROOT}/${PYENV_REHASH_COMMAND}" ]; then
|
|
PYENV_COMMAND_PATH="${PYENV_PIP_REHASH_ROOT}/${PYENV_REHASH_COMMAND##*/}"
|
|
PYENV_BIN_PATH="${PYENV_PIP_REHASH_ROOT}"
|
|
export PYENV_REHASH_REAL_COMMAND="${PYENV_COMMAND##*/}"
|
|
fi
|