uv 虚拟环境管理实战:venv 创建、激活与版本指定
在 Python 开发中,虚拟环境是隔离项目依赖的关键工具。传统工具如 venv 和 virtualenv 往往存在创建速度慢、版本管理繁琐等问题。uv 作为一款用 Rust 编写的极速 Python 包管理器,提供了更高效的解决方案。它能自动下载并管理 Python 解释器,无缝集成包管理,显著提升了环境一致性和版本控制的效率。
安装 uv
开始之前,先确保系统已安装 uv。不同操作系统的安装方式略有差异:
Linux 和 macOS
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
安装完成后,运行以下命令验证版本:
uv --version
创建虚拟环境
使用 uv venv 命令即可快速初始化环境,默认会在当前目录生成 .venv 文件夹。
基础用法
uv venv
这条命令会创建一个包含特定 Python 解释器和基本依赖管理工具的独立目录。
指定名称或路径
如果不想使用默认的 .venv,可以自定义名称或路径:
uv venv myenv # 创建名为 myenv 的环境
uv venv ../path/to/env # 在指定父路径下创建
指定 Python 版本
这是 uv 的一大亮点。如果系统中没有所需版本,它会自动下载。支持多种格式:
uv venv --python 3.11 # 使用 Python 3.11
uv venv --python 3.12.3 # 指定具体补丁版本
uv venv --python ">=3.10,<3.13" # 使用版本范围
uv venv --python [email protected] # 指定实现和版本
支持的格式包括 <version>(如 3.12)、<version-specifier>(如 >=3.12)以及实现标识符(如 cpython、pypy)。例如,使用 PyPy 只需:
uv venv --python pypy
激活虚拟环境
创建后需要激活才能使用其中的 Python 和 pip。激活后终端提示符通常会显示环境名称。
Linux 和 macOS
根据使用的 Shell 选择对应的激活脚本:
# Bash / Zsh
source .venv/bin/activate
.venv/bin/activate.fish
.venv/bin/activate.csh
use .venv/bin/activate.nu

