laurigates/claude-plugins

uv-python-versions

Install and manage Python interpreter versions with uv.

소스 보기

사용 방법

  1. 설치 명령을 복사하고 자신의 에이전트 환경에 설치하기 전에 소스 패키지를 확인하세요.
  2. 필요한 도구, 인증 정보, 지원 환경은 원본 문서에서 확인하세요.
  3. 입력과 원하는 산출물을 설명하고 출처와 결과를 대조하세요.
npx skills add https://github.com/laurigates/claude-plugins --skill uv-python-versions

시작 전 확인

  • 설치에는 모델 구독, API 한도, 파일 접근 권한이 포함되지 않습니다.
  • 별점 수와 설치 수는 활동 지표이며 독립적인 품질·보안 검증이 아닙니다.
원본 Skill 문서

원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.

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 installAdding a Python library to a project — use uv-project-management
Pinning a project to a Python version via .python-version or requires-pythonInstalling a global Python CLI tool — use uv-tool-management
Switching between multiple installed interpreters for testingRunning 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

관련 작업

같은 저장소의 Skills

더 많은 Skills

모든 Skills