-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Description
Summary
I've managed to corner my machine to a setup, where uv tool install appears to select the "worst" Python:
- Python3.9 (from the OS?) at
/usr/bin/python3 - Python3.10 (from Python.org) as
/usr/local/bin/python3 - Python3.11, 3.12, 3.13, 3.13t, 3.14, 3.14t, 3.15, 3.15t (from Python.org) in
/usr/local - no modern pythons installed using
uv python install - Python3.8 installed using
us python install 3.8
Note that uv python list sees all of these options.
In this config, uv tool install tox --with tox-uv installs the tool using Python 3.8, which leads to ancient tox-uv dep being used (also it's slow, but whatever).
And tox with the ancient plugin fails with tox-dev/tox-uv#230
Is it something I did to myself?
Yes.
Is it something another developer could run into?
Yes, because when the system doesn't provide some old python and I gotta run tests in some older project, I'd end up uv python install-ing that old version.
Now I'm getting hit because of that and quite unexpectedly.
Work-arounds:
- either
uv tool install -p 3.12 tox --with tox-uvor 3.10 or whatever is not EOL - or
uv python install 3.12; uv tool uninstall --all; uv tool install ..., then that gets picked.
So.. it's a bit of a foot-gun.
Could uv perhaps understand which Python versions are EOL?
Platform
macos
Version
uv 0.10.4 (Homebrew 2026-02-17)
Python version
Python 3.10.11