Skip to content
Back to skills

Uv Python Versions

ASecurity

Install and manage Python interpreter versions with uv. Use when the user mentions installing Python versions, .python-version, uv python, or managing CPython/PyPy.

  • 58 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 3, 2026
ai-agentspythonbashtestinggit

Works with

  • cli

Security analysis

A93/100
  • highPerforms destructive filesystem operations

Pro scans all 2 files and shows the line behind each finding

Scanned September 3, 2026

npx -y skills add laurigates/claude-plugins --skill uv-python-versions --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Uv Python Versions?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Uv Python Versions
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/laurigates-uv-python-versions/badge)](https://www.skillsdirectory.com/skills/laurigates-uv-python-versions)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
created: 2025-12-16
modified: 2026-05-09
reviewed: 2026-04-25
name: uv-python-versions
description: Install and manage Python interpreter versions with uv. Use when the user mentions installing Python versions, .python-version, uv python, or managing CPython/PyPy.
user-invocable: false
allowed-tools: Bash, Read, Grep, Glob
---

# 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

```bash
# 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

```bash
# 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

```bash
# 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

```bash
# 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

```bash
# 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:
1. **UV-managed** - Installed via `uv python install`
2. **.python-version** - Pin file in project directory
3. **pyproject.toml** - `requires-python` field
4. **System Python** - Existing system installations
5. **Environment** - `$PATH` and standard locations

## Version Pinning

### .python-version File

```bash
# Pin creates this file
uv python pin 3.11

# File contents
3.11

# Exact version
uv python pin 3.11.5
```

### pyproject.toml

```toml
[project]
requires-python = ">=3.11"

# UV respects this constraint
```

## Supported Python Implementations

### CPython

```bash
# Default implementation
uv python install 3.11
uv python install cpython@3.11
uv python install cpython@3.11.5
```

### PyPy

```bash
# Alternative Python implementation
uv python install pypy@3.9
uv python install pypy@3.10
```

## Common Commands

```bash
# 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

```bash
# Initialize with specific Python
uv init --python 3.11 my-project

# Generates .python-version
cat .python-version
# 3.11
```

### Running Commands

```bash
# 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

```bash
# 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 projects
- `uv-workspaces` - Python versions in monorepos
- `python-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

Files in this skill

  • REFERENCE.md15 KB
  • SKILL.md5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…