uv 虚拟环境管理:创建、激活与 Python 版本指定
在 Python 开发中,虚拟环境是隔离项目依赖的关键工具。传统的 venv 或 virtualenv 往往存在创建慢、版本管理繁琐的问题。作为用 Rust 编写的极速包管理器,uv 提供了更高效的解决方案。
为什么选择 uv
相比传统工具,uv 的优势在于速度极快且内置了 Python 版本管理功能,能自动下载缺失的解释器。它还能无缝集成包管理,无需单独配置 pip。
| 特性 | uv | venv | virtualenv |
|---|---|---|---|
| 创建速度 | 极快(Rust 实现) | 较慢 | 中等 |
| Python 版本管理 | 内置支持,可自动下载 | 需要手动指定 | 有限支持 |
| 跨平台兼容性 | 优秀 | 良好 | 良好 |
| 缓存机制 | 有 | 无 | 无 |
| 与包管理集成 | 无缝集成 | 需单独使用 pip | 需单独使用 pip |
安装 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
创建虚拟环境
基本用法
直接运行以下命令,会在当前目录生成 .venv 目录:
uv venv
指定名称或路径
默认是 .venv,也可以自定义:
uv venv myenv
# 或在指定路径创建
uv venv ../path/to/env
指定 Python 版本
uv 允许在创建时指定版本,若本地没有会自动下载:
uv venv --python 3.11
uv venv --python 3.12.3
uv venv --python ">=3.10,<3.13"
支持的格式包括具体版本号、范围、实现类型(如 cpython, pypy)等。
激活虚拟环境
激活后,终端的 Python 和 pip 将指向虚拟环境。
Linux/macOS Bash/Zsh:
source .venv/bin/activate
Fish:

