astral-sh/uv · error · anyhow::Error
Received multiple Python version requests: `{}` and `{}`
Error message
Received multiple Python version requests: `{}` and `{}` What it means
Error "Received multiple Python version requests: `{}` and `{}`" thrown in astral-sh/uv.
Source
Thrown at crates/uv/src/commands/tool/run.rs:720
target: Target::Unspecified(requirement),
..
} => Some(RequirementsSpecification::parse_package(requirement)?),
_ => None,
};
// Determine explicit Python version requests
let explicit_python_request = python.map(PythonRequest::parse);
let tool_python_request = match request {
ToolRequest::Python { request, .. } => Some(request.clone()),
ToolRequest::Package { .. } => None,
};
// Resolve an argument-derived Python request, if any.
let python_request = match (explicit_python_request, tool_python_request) {
// e.g., `uvx --python 3.10 python3.12`
(Some(explicit), Some(tool_request)) if tool_request != PythonRequest::Default => {
// Conflict: both --python flag and versioned tool name
return Err(anyhow::anyhow!(
"Received multiple Python version requests: `{}` and `{}`",
explicit.to_canonical_string().cyan(),
tool_request.to_canonical_string().cyan()
)
.into());
}
// e.g, `uvx --python 3.10 ...`
(Some(explicit), _) => Some(explicit),
// e.g., `uvx python` or `uvx <tool>`
(None, Some(PythonRequest::Default) | None) => None,
// e.g., `uvx python3.12`
(None, Some(tool_request)) => Some(tool_request),
};
let python_request = ToolPython::from_request(
python_request,
unresolved_target_requirement
.as_ref()
.map(|requirement| &requirement.requirement),View on GitHub (pinned to f1a42680ff)
When it happens
Trigger: Thrown at crates/uv/src/commands/tool/run.rs:720 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of astral-sh/uv@f1a42680ff (2026-08-16).
Data as JSON: /api/errors/72013504cf481845.
Report an issue: GitHub.