uv 虚拟环境管理:venv 创建、激活与 Python 版本指定
在 Python 开发中,虚拟环境是隔离项目依赖的关键工具。传统工具如 venv 和 virtualenv 存在创建速度慢、版本管理繁琐等问题。uv 作为一款用 Rust 编写的极速 Python 包管理器,提供了更高效的虚拟环境管理方案。
uv 虚拟环境基础
什么是虚拟环境
虚拟环境是一个独立的 Python 运行环境,允许每个项目拥有自己的依赖包,而不会与其他项目冲突。它通过创建一个包含特定 Python 解释器和依赖包的目录,实现项目间的环境隔离。
uv 虚拟环境的优势
相比传统的 venv 和 virtualenv,uv 的虚拟环境具有以下优势:
| 特性 | uv | venv | virtualenv |
|---|---|---|---|
| 创建速度 | 极快(Rust 实现) | 较慢 | 中等 |
| Python 版本管理 | 内置支持,可自动下载 | 需要手动指定 | 有限支持 |
| 跨平台兼容性 | 优秀 | 良好 | 良好 |
| 缓存机制 | 有 | 无 | 无 |
| 与包管理集成 | 无缝集成 | 需要单独使用 pip | 需要单独使用 pip |
安装 uv
在开始使用 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 创建虚拟环境非常简单,基本命令如下:
uv venv
这条命令会在当前目录下创建一个名为 .venv 的虚拟环境目录,包含了 Python 解释器和基本的依赖管理工具。
指定虚拟环境名称或路径
默认情况下,uv 会创建名为 .venv 的虚拟环境。如果需要指定其他名称或路径,可以使用以下命令:
uv venv myenv # 创建名为 myenv 的虚拟环境
uv venv ../path/to/env # 在指定路径创建虚拟环境
指定 Python 版本
uv 允许在创建虚拟环境时指定 Python 版本。如果系统中没有所需版本,uv 会自动下载并安装。
uv venv --python 3.11
uv venv --python 3.12.3
uv venv --python

