uv-python-versions
Install and manage Python interpreter versions with uv. Use when the user mentions installing Python versions, .python-version, uv python, or managing CPython/PyPy.
How do I install this agent skill?
npx skills add https://github.com/laurigates/claude-plugins --skill uv-python-versionsIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill provides documentation and command references for the 'uv' tool to manage Python interpreter versions. It uses standard shells for local environment management and references trusted documentation and well-known Python distribution sources. No security risks or malicious patterns were identified.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
- Runlayerpass
1/2 files flagged
What does this agent skill do?
UV Python Version Management
Quick reference for installing and managing Python interpreter versions with UV.
When to Use This Skill
| Use this skill when... | Use a focused sibling instead when... |
|---|---|
Installing a specific CPython or PyPy interpreter with uv python install | Adding a Python library to a project — use uv-project-management |
Pinning a project to a Python version via .python-version or requires-python | Installing a global Python CLI tool — use uv-tool-management |
| Switching between multiple installed interpreters for testing | Running a script with auto-managed Python — use uv-run |
When This Skill Applies
- Installing specific Python versions
- Switching between multiple Python versions
- Pinning Python versions for projects
- Managing CPython and PyPy interpreters
- Finding and listing installed Python versions
Quick Reference
Installing Python Versions
# Install latest Python
uv python install
# Install specific version
uv python install 3.11
uv python install 3.12
uv python install 3.10 3.11 3.12
# Install exact version
uv python install 3.11.5
uv python install cpython@3.11.5
# Install PyPy
uv python install pypy@3.9
uv python install pypy@3.10
Listing Python Versions
# List all available versions
uv python list
# List only installed versions
uv python list --only-installed
# List with verbose details
uv python list --verbose
Pinning Python Versions
# Pin version for current project
uv python pin 3.11
uv python pin 3.12.1
# Pin PyPy
uv python pin pypy@3.9
# Pin with version file
# Creates/updates .python-version
Finding Python Interpreters
# Find any Python installation
uv python find
# Find specific version
uv python find 3.11
uv python find 3.12
# Find PyPy
uv python find pypy
uv python find pypy@3.9
Using Specific Python Versions
# In project commands
uv run --python 3.11 script.py
uv run --python 3.12 pytest
# Creating virtual environments
uv venv --python 3.11
uv venv --python 3.10 .venv-py310
# Initializing projects
uv init --python 3.12 my-project
Python Version Sources
UV searches for Python in this order:
- UV-managed - Installed via
uv python install - .python-version - Pin file in project directory
- pyproject.toml -
requires-pythonfield - System Python - Existing system installations
- Environment -
$PATHand standard locations
Version Pinning
.python-version File
# Pin creates this file
uv python pin 3.11
# File contents
3.11
# Exact version
uv python pin 3.11.5
pyproject.toml
[project]
requires-python = ">=3.11"
# UV respects this constraint
Supported Python Implementations
CPython
# Default implementation
uv python install 3.11
uv python install cpython@3.11
uv python install cpython@3.11.5
PyPy
# Alternative Python implementation
uv python install pypy@3.9
uv python install pypy@3.10
Common Commands
# Install and pin latest Python 3.12
uv python install 3.12 && uv python pin 3.12
# Install multiple versions for testing
uv python install 3.10 3.11 3.12
# Check which Python is active
uv python find
uv run python --version
# Uninstall version (manual)
rm -rf ~/.local/share/uv/python/cpython-3.11.5-*
Integration with Projects
Project Initialization
# Initialize with specific Python
uv init --python 3.11 my-project
# Generates .python-version
cat .python-version
# 3.11
Running Commands
# Use project's pinned Python
uv run python script.py
# Override with specific version
uv run --python 3.12 script.py
# Use system Python
uv run --python python3 script.py
Multi-Version Testing
# Test across Python versions
uv run --python 3.10 pytest
uv run --python 3.11 pytest
uv run --python 3.12 pytest
# Create version-specific venvs
uv venv --python 3.10 .venv-py310
uv venv --python 3.11 .venv-py311
uv venv --python 3.12 .venv-py312
Key Features
- Fast downloads: Parallel downloads with caching
- Automatic: Downloads versions on-demand
- Isolated: UV-managed versions don't conflict with system Python
- Portable: Uses standalone Python distributions
- Cross-platform: Works on Linux, macOS, and Windows
See Also
uv-project-management- Using pinned Python versions in projectsuv-workspaces- Python versions in monorepospython-testing- Testing across multiple Python versions
References
- Official docs: https://docs.astral.sh/uv/guides/install-python/
- Python standalone builds: https://github.com/indygreg/python-build-standalone
- Detailed guide: See REFERENCE.md in this skill directory
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/laurigates/claude-plugins/uv-python-versions">View uv-python-versions on skillZs</a>