Update tools.func
This commit is contained in:
parent
1fd87132c3
commit
dbb268ebf6
@ -1081,12 +1081,35 @@ function setup_uv() {
|
|||||||
rm -rf "$TMP_DIR"
|
rm -rf "$TMP_DIR"
|
||||||
ensure_usr_local_bin_persist
|
ensure_usr_local_bin_persist
|
||||||
msg_ok "uv $LATEST_VERSION installed"
|
msg_ok "uv $LATEST_VERSION installed"
|
||||||
|
|
||||||
|
# Optional: install specific Python version
|
||||||
|
if [[ -n "${PYTHON_VERSION:-}" ]]; then
|
||||||
|
$STD msg_info "Ensuring Python $PYTHON_VERSION is available via uv..."
|
||||||
|
|
||||||
|
local VERSION_MATCH
|
||||||
|
VERSION_MATCH=$(uv python list --only-downloads |
|
||||||
|
grep -E "^cpython-${PYTHON_VERSION//./\\.}\.[0-9]+-linux" |
|
||||||
|
cut -d'-' -f2 | sort -V | tail -n1)
|
||||||
|
|
||||||
|
if [[ -z "$VERSION_MATCH" ]]; then
|
||||||
|
msg_error "No matching Python $PYTHON_VERSION.x version found via uv"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if uv python list | grep -q "cpython-${VERSION_MATCH}-linux.*uv/python"; then
|
||||||
|
$STD msg_ok "Python $VERSION_MATCH already installed via uv"
|
||||||
|
else
|
||||||
|
if ! $STD uv python install "$VERSION_MATCH"; then
|
||||||
|
msg_error "Failed to install Python $VERSION_MATCH via uv"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
msg_ok "Installed Python $VERSION_MATCH"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# Fully autonomous uv-based venv installer with pip/requirements handling
|
# Creates a uv-based venv with optional Python version and installs dependencies
|
||||||
# - Requires: VENV_FOLDER, PYTHON_VERSION
|
|
||||||
# - Optional: REQUIREMENTS_FILE (default: requirements.txt)
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
function setup_uv_venv() {
|
function setup_uv_venv() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user