使用 uv 管理多个 python 版本的核心做法是启用其内置的 python 版本管理功能,通过 uv python install 下载并安装不同版本的解释器,随后利用 uv python pin 或项目根目录下的 .python-version 文件来指定当前环境使用的具体版本。这样做可以让 uv 自动在虚拟环境中切换对应的解释器路径,无需手动配置系统环境变量即可实现多版本隔离与快速切换。

如何安装并验证特定版本的 Python
要获取某个具体的 Python 版本,只需运行 uv python install <version></version> 命令,uv 会自动从官方源下载二进制包并存入本地缓存目录。安装完成后,可以通过 uv python list 查看已安装的版本列表,确认目标版本是否就绪且状态为可用。这一步骤解决了传统方式中需要手动编译或寻找第三方安装包的问题,实现了版本的一键获取。

uv python install 3.12.0 uv python install 3.11.4 uv python list
执行上述命令后,终端将输出包含版本号、平台及安装状态的列表。例如,3.12.0 和 3.11.4 会显示为 installed 状态,此时它们已准备好被项目调用。若需验证安装是否成功,可尝试使用 uv run --python 3.12.0 python --version 直接启动该版本解释器并打印版本号,确保返回结果与预期一致。
立即学习“Python免费学习笔记(深入)”;
如何在项目中固定并使用指定版本
在项目中使用特定版本时,推荐在项目根目录创建 .python-version 文件并写入目标版本号,如 3.12.0。当在该目录下执行 uv venv 创建虚拟环境时,uv 会读取此文件并自动配置虚拟环境指向已安装的对应版本解释器。这种方式使得版本控制与项目代码绑定,团队成员克隆项目后只需运行 uv sync 即可自动匹配正确的 Python 环境,避免了因环境不一致导致的兼容性问题。

# 在项目根目录执行 echo "3.11.4" > .python-version uv venv source .venv/bin/activate python --version
运行 uv venv 后,虚拟环境中的 python 命令将指向 3.11.4 版本。激活环境后执行 python --version 应输出 Python 3.11.4。若未创建 .python-version 文件,uv 默认会使用系统中优先级最高的已安装版本或系统默认版本,这可能导致行为不可预测。因此,显式声明版本是保证环境稳定性的关键步骤。
当 .python-version 指定的版本未安装时会发生什么
如果 .python-version 文件中指定的版本尚未通过 uv python install 安装,uv 在执行 uv venv 或 uv sync 时会自动触发安装流程,下载并配置该版本,而不会报错中断。这一设计简化了工作流,开发者无需先手动安装再创建环境,工具链会自动补全缺失的解释器依赖。这种静默安装机制确保了项目初始化过程的无缝衔接,即使在新机器上克隆项目,也能一键获得完整的环境配置。


















