Skip to content

UX: uv python install silently skips requests depending on what I already have installed #11551

@neutrinoceros

Description

@neutrinoceros

Summary

Starting from a state where I don't have a managed copy of Python 3.14 installed. Installing works as expected

❯ uv python install 3.14
Installed Python 3.14.0a5 in 15.92s
 + cpython-3.14.0a5-macos-aarch64-none

However, immediately running the same command doesn't produce any output

❯ uv python install 3.14

this is surprising to me: I would expect a "warning" of some sort to tell me that I already have the requested version installed, which is why nothing was done.
Even in verbose mode, there doesn't seem to be a clear indication of that skip

❯ uv python install 3.14 -v
DEBUG uv 0.6.0 (591f38c25 2025-02-14)
DEBUG Acquired lock for `/Users/clm/.local/share/uv/python`
DEBUG Found `cpython-3.14.0a5-macos-aarch64-none` for request `Python 3.14`
DEBUG Using request timeout of 30s
DEBUG Skipping installation of Python executables, use `--preview` to enable.
DEBUG Released lock at `/Users/clm/.local/share/uv/python/.lock`

Of course in the context of this minimal reprod it is pretty obvious what's happening, but it's a little bit more confusing when running a longer command such as, e.g.

❯ uv python install 3.14 3.13 3.12 3.11

and all versions I requested but one appear on the output.

update: this second part was resolved in #12124
I'm putting it in quote mode to highlight this fact

Similarily, if I try to re-install a version I don't already have, it is also silently skipped

❯ uv python install 3.14t --reinstall

This time, in verbose mode, the version I asked for is not even mentioned

❯ uv python install 3.14t --reinstall -v
DEBUG uv 0.6.0 (591f38c25 2025-02-14)
DEBUG Acquired lock for `/Users/clm/.local/share/uv/python`
DEBUG Using request timeout of 30s
DEBUG Released lock at `/Users/clm/.local/share/uv/python/.lock`

Platform

Darwin 24.3.0 arm64

Version

uv 0.6.0 (591f38c 2025-02-14)

Python version

Python 3.13.2

Metadata

Metadata

Assignees

No one assigned

    Labels

    cliRelated to the command line interfaceenhancementNew feature or improvement to existing functionality

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions