uv 0.8 Release: Automatic Python Installation to PATH
uv 0.8 stabilizes one of the most significant workflow improvements in Python tooling: automatic installation of Python executables to your PATH. This means you can finally install Python versions with uv python install
and use them system-wide without wrestling with environment activation.
Global Python Access Without the Hassle
The headline feature addresses a long-standing frustration in Python development. When you run:
uv python install 3.13
uv now automatically places a versioned Python executable (python3.13
) in a directory on your PATH (like ~/.local/bin
). This creates a seamless bridge between uv’s managed Python installations and your daily development workflow.
Want to make a version the default? Use the --default
flag to also install python3
and python
executables:
uv python install --default 3.13
This approach respects standard conventions like XDG_BIN_HOME
and can be customized with UV_PYTHON_BIN_DIR
. You can disable it entirely with --no-bin
if you prefer the previous behavior.
Windows Integration Gets First-Class Treatment
On Windows, uv 0.8 now registers installed Python versions with the Windows Registry following PEP 514. This enables using uv-managed Python installations through the py
launcher, creating a more native Windows experience for Python developers.
Additional Enhancements in uv 0.8
- Improved safety with
uv venv
: Now prompts before removing existing virtual environments to prevent accidental deletions - Stricter Python preference validation: Enforces
--no-managed-python
and related options consistently across discovered interpreters - Enhanced workspace handling: Dependencies with path sources are now built and installed by default, even without explicit build systems
- Updated Linux platform defaults:
--python-platform linux
now targetsmanylinux_2_28
for broader compatibility with modern distributions - uv build backend becomes default: New projects created with
uv init --package
now use uv’s own build backend instead of Hatchling - Better Docker support: Sets sensible
UV_TOOL_BIN_DIR
defaults in Docker images for tool installation - Workspace subdirectory improvements:
uv add
automatically treats subdirectories as workspace members - Refined editable dependency handling: Allows different editable settings across dependency groups with proper conflict detection
- Ephemeral environments for
--with
: Creates cleaner isolation for temporary dependencies inuv run --with
invocations - Consistent exit codes: Standardizes exit codes across check operations for better CI/CD integration
Most users can upgrade directly to uv 0.8 without workflow changes, though some edge cases around virtual environment management and dependency handling have been tightened for improved correctness.