uv 是什么?
-
Rust 编写的超高速 Python 包管理工具(比 pip 快 10-100 倍)
-
由 Ruff 团队开发,支持:
-
包安装(替代
pip
) -
虚拟环境管理(替代
venv
) -
依赖解析/锁定(替代
pip-tools
)
-
-
兼容主流 Python 工具链(Pipfile, pyproject.toml, requirements.txt)
安装 uv
# 推荐独立安装(不依赖 Python)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 或通过 pip(需 Python 3.8+)
pip install uv
核心命令速查
1. 虚拟环境管理
# 创建并激活环境
uv venv .venv # 创建环境
source .venv/bin/activate # 激活(Linux/macOS)
.\.venv\Scripts\activate # 激活(Windows)
# 指定 Python 版本
uv venv --python=3.10 .venv
2. 包安装
# 从文件安装
uv pip install -r requirements.txt
uv pip install -r pyproject.toml # 支持 PEP 621
# 安装单个包
uv pip install pandas
# 安装可编辑模式(开发)
uv pip install -e .
3. 依赖锁定
# 生成锁定文件
uv pip compile requirements.in -o requirements.txt
# 同步锁定文件
uv pip sync requirements.txt
4. 依赖管理
# 升级包
uv pip install --upgrade pandas
# 卸载包
uv pip uninstall numpy
# 导出环境
uv pip freeze > requirements.txt
常见问题解决
Q1: 如何避免与 conda 冲突?
# 创建环境时指定系统 Python
uv venv --system --python=3.10 .venv
# 激活后验证路径
which python # 应显示 .venv/bin/python
Q2: 替换现有 pip/venv 工作流
# 传统方式
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
# uv 等效(快 10 倍)
uv venv .venv
source .venv/bin/activate
uv pip install -r requirements.txt
Q3: 依赖解析失败?
# 启用详细日志
UV_LOG_LEVEL=debug uv pip install package
# 尝试宽松模式
uv pip install --resolution=lowest package
uv 优势总结
特性 | 传统工具 | uv |
---|---|---|
速度 | 慢(pip) | 快 10-100x |
虚拟环境 | venv | uv venv |
依赖锁定 | pip-tools | uv pip compile |
磁盘占用 | 高 | 低 30% |
冷启动 | 慢 | <100ms |
最佳实践:始终用
uv pip
替代pip
,用uv venv
替代python -m venv