uv 0.8 Release: Automatic Python Installation to PATH

uv 0.8 Release: Automatic Python Installation to PATH

July 19, 2025

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 targets manylinux_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 in uv 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.

Learn More

Last updated on

Please submit corrections and feedback...