为什么需要指定 Python 版本?
在真实开发中,指定 Python 版本至关重要:
- 依赖兼容性:某些包仅支持特定 Python 版本
- 团队统一:确保所有开发者使用相同版本
- 生产一致性:避免开发与生产环境版本不一致导致的 Bug
- 多版本测试:验证代码在不同 Python 版本下的表现
三大场景实战指南
场景一:创建新项目时指定版本(最常用)
在项目初始化阶段指定 Python 版本是最佳实践:
# 方式 1:使用 --python 参数直接指定
uv init --python 3.9
# 这将创建一个使用 Python 3.9 的新项目
# 方式 2:指定精确版本
uv init --python 3.11.5
# 方式 3:使用 conda 环境中的 Python
uv init --python /path/to/your/python
执行后,uv 会:
- 自动检测或下载指定的 Python 版本
- 创建使用该版本的虚拟环境
- 在
pyproject.toml中记录 Python 版本约束
场景二:为现有项目更改 Python 版本
如果你的项目已经创建,但需要更改 Python 版本:
# 1. 首先,删除旧的虚拟环境(重要!)
rm -rf .venv # Linux/macOS
# 或 rmdir /s .venv # Windows
# 2. 使用指定版本重新创建虚拟环境
uv python pin 3.10
# 方法 1:使用 pin 命令
# 或 uv venv --python 3.10
# 方法 2:重新创建 venv
# 3. 重新同步所有依赖
uv sync
重要提示:更改 Python 版本后,某些依赖可能需要重新安装或选择兼容版本。务必运行 uv sync 让 uv 重新解析依赖树。
场景三:多版本管理与系统级设置
对于需要管理多个 Python 版本的高级用户:
# 1. 查看系统可用 Python 版本
uv python list
# 输出示例:
# - cpython-3.12.3 (C:\Users\...\Python\Python312\python.exe)
# - cpython-3.11.9 (C:\Users\...\Python\Python311\python.exe)
# - cpython-3.10.11 (C:\Users\...\Python\Python310\python.exe)
# 2. 安装特定的 Python 版本
uv python install 3.9
uv python install 3.11.8
>> pyproject.toml

