uv 虚拟环境实战:创建、激活与版本控制
在 Python 开发里,虚拟环境几乎是标配。传统工具如 venv 和 virtualenv 虽然能用,但创建速度慢、版本管理繁琐是常遇到的痛点。uv 作为用 Rust 编写的极速包管理器,不仅安装快,对虚拟环境的支持也更现代化。它能快速创建隔离环境,灵活指定 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 文件夹,里面包含了 Python 解释器和基础依赖管理工具。相比传统方式,这个速度几乎是秒级的。
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"
支持的格式很灵活:
<version>:如3,3.12,3.12.3<version-specifier>:如>=3.12,<3.13<implementation>:如cpython或cp<implementation>@<version>:如[email protected]<implementation><version>:如cpython3.12
选择 Python 实现
除了 CPython,uv 还支持 PyPy 和 GraalPy。
uv venv --python pypy
uv venv --python [email protected]
uv venv --python cp311

