mirror of
https://github.com/pyenv/pyenv.git
synced 2025-11-11 04:53:47 -05:00
Auto-resolve prefixes to the latest version (#2487)
This commit is contained in:
@@ -145,6 +145,10 @@ IFS=$'\n' scripts=(`pyenv-hooks install`)
|
||||
IFS="$OLDIFS"
|
||||
for script in "${scripts[@]}"; do source "$script"; done
|
||||
|
||||
# Try to resolve a prefix if user indeed gave a prefix.
|
||||
# We install the version under the resolved name
|
||||
# and hooks also see the resolved name
|
||||
DEFINITION="$(pyenv-latest -q -k "$DEFINITION" || echo "$DEFINITION")"
|
||||
|
||||
# Set VERSION_NAME from $DEFINITION, if it is not already set. Then
|
||||
# compute the installation prefix.
|
||||
|
||||
@@ -2067,12 +2067,25 @@ DEFINITION_PATH="${ARGUMENTS[0]}"
|
||||
if [ -z "$DEFINITION_PATH" ]; then
|
||||
usage 1 >&2
|
||||
elif [ ! -f "$DEFINITION_PATH" ]; then
|
||||
for DEFINITION_DIR in "${PYTHON_BUILD_DEFINITIONS[@]}"; do
|
||||
if [ -f "${DEFINITION_DIR}/${DEFINITION_PATH}" ]; then
|
||||
DEFINITION_PATH="${DEFINITION_DIR}/${DEFINITION_PATH}"
|
||||
break
|
||||
|
||||
search_definitions() {
|
||||
for DEFINITION_DIR in "${PYTHON_BUILD_DEFINITIONS[@]}"; do
|
||||
if [ -f "${DEFINITION_DIR}/${DEFINITION_PATH}" ]; then
|
||||
DEFINITION_PATH="${DEFINITION_DIR}/${DEFINITION_PATH}"
|
||||
break
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
search_definitions
|
||||
if [ ! -f "$DEFINITION_PATH" ]; then
|
||||
if RESOLVED_DEFINITION_PATH="$(command -v pyenv-latest >/dev/null && pyenv-latest -k -q "$DEFINITION_PATH")"; then
|
||||
DEFINITION_PATH="$RESOLVED_DEFINITION_PATH"
|
||||
unset RESOLVED_DEFINITION_PATH
|
||||
search_definitions
|
||||
fi
|
||||
done
|
||||
fi
|
||||
unset search_definitions
|
||||
|
||||
if [ ! -f "$DEFINITION_PATH" ]; then
|
||||
echo "python-build: definition not found: ${DEFINITION_PATH}" >&2
|
||||
|
||||
Reference in New Issue
Block a user