optimize uv python install

This commit is contained in:
CanbiZ
2025-06-04 10:46:40 +02:00
parent cd4a9d4b55
commit 2cc17f4028

View File

@ -1068,17 +1068,23 @@ function setup_uv() {
if [[ -n "$PYTHON_VERSION" ]]; then
$STD msg_info "Ensuring Python $PYTHON_VERSION is available via uv..."
if ! uv python list | grep -q "cpython-${PYTHON_VERSION}-linux"; then
msg_error "Python version $PYTHON_VERSION not available via uv"
FULL_PYTHON=$(uv python list | grep -E "^cpython-${PYTHON_VERSION//./\\.}\.[0-9]+-linux.*<download available>" | sort -V | tail -n1 | awk '{print $1}')
if [[ -z "$FULL_PYTHON" ]]; then
msg_error "No matching Python $PYTHON_VERSION.x version found via uv"
return 1
fi
if ! uv python list | grep -q "cpython-${PYTHON_VERSION}-linux.*.local/share/uv/python"; then
$STD uv python install "$PYTHON_VERSION"
msg_ok "Installed Python $PYTHON_VERSION via uv"
# check if already installed
if uv python list | grep -q "$FULL_PYTHON.*uv/python"; then
$STD msg_ok "Python ${FULL_PYTHON#cpython-} already installed via uv"
else
$STD msg_ok "Python $PYTHON_VERSION already installed via uv"
$STD uv python install "${FULL_PYTHON#cpython-}"
msg_ok "Installed Python ${FULL_PYTHON#cpython-} via uv"
fi
fi
}
# ------------------------------------------------------------------------------