mcpField
U
uv-python-versions

uv-python-versions

github.com/laurigates开发59302 次安装1 天前更新
代码仓库

关于 uv-python-versions

使用 UV 管理 Python 解释器的速查技能,帮助开发者安装、查找、固定和切换 CPython 与 PyPy 版本,用于项目配置和测试。

主要功能

  1. 01安装 CPython 和 PyPy 版本
  2. 02列出并查找解释器
  3. 03固定项目 Python 版本
  4. 04使用指定版本运行命令
  5. 05创建多版本测试环境

适用场景

  1. 01固定项目的 Python 版本
  2. 02跨 Python 版本测试项目
  3. 03使用 PyPy 配置环境
  4. 04查找已安装的解释器

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/laurigates/claude-plugins --skill uv-python-versions

安装后在 Claude Code 中输入/uv-python-versions确认已加载。

附带文件REFERENCE.md

详细介绍

UV Python 版本管理

使用 UV 安装和管理 Python 解释器版本的快速参考。

何时使用此技能

在以下情况下使用此技能……在以下情况下改用针对性更强的同级技能……
使用 uv python install 安装特定的 CPython 或 PyPy 解释器为项目添加 Python 库——使用 uv-project-management
通过 .python-version 或 requires-python 将项目固定到某个 Python 版本安装全局 Python CLI 工具——使用 uv-tool-management
在多个已安装的解释器之间切换以进行测试使用自动管理的 Python 运行脚本——使用 uv-run

此技能的适用场景

  • 安装特定的 Python 版本
  • 在多个 Python 版本之间切换
  • 为项目固定 Python 版本
  • 管理 CPython 和 PyPy 解释器
  • 查找和列出已安装的 Python 版本

快速参考

安装 Python 版本
# 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 [email protected]

# Install PyPy
uv python install [email protected]
uv python install [email protected]
列出 Python 版本
# List all available versions
uv python list

# List only installed versions
uv python list --only-installed

# List with verbose details
uv python list --verbose
固定 Python 版本
# Pin version for current project
uv python pin 3.11
uv python pin 3.12.1

# Pin PyPy
uv python pin [email protected]

# Pin with version file
# Creates/updates .python-version
查找 Python 解释器
# 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 [email protected]
使用特定的 Python 版本
# 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 版本来源

UV 按以下顺序查找 Python:

  1. UV 管理的版本 - 通过 uv python install 安装
  2. .python-version - 项目目录中的固定版本文件
  3. pyproject.toml - requires-python 字段
  4. 系统 Python - 现有的系统安装版本
  5. 环境 - $PATH 和标准位置

版本固定

.python-version 文件
# 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

支持的 Python 实现

CPython
# Default implementation
uv python install 3.11
uv python install [email protected]
uv python install [email protected]
PyPy
# Alternative Python implementation
uv python install [email protected]
uv python install [email protected]

常用命令

# 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-*

与项目集成

项目初始化
# Initialize with specific Python
uv init --python 3.11 my-project

# Generates .python-version
cat .python-version
# 3.11
运行命令
# 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

多版本测试

# 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

主要功能

  • 快速下载:并行下载并使用缓存
  • 自动管理:按需下载版本
  • 隔离:UV 管理的版本不会与系统 Python 冲突
  • 可移植:使用独立的 Python 发行版
  • 跨平台:支持 Linux、macOS 和 Windows

另请参阅

  • uv-project-management - 在项目中使用固定的 Python 版本
  • uv-workspaces - 在单体仓库中使用 Python 版本
  • python-testing - 跨多个 Python 版本进行测试

参考资料

评论

支持 Markdown