在 Python 生态中,uv 是一个超高速的 Python 包安装器和解析器,同时也支持项目管理和环境管理。
它由 Astral 团队开发(该团队也是知名代码格式化工具 Ruff 的开发者),使用 Rust 编写,旨在替代 pip、virtualenv、poetry、pip-tools 等多个工具。
以下是关于 uv 的核心要点:
1. 主要特点
- 极速:由于是用 Rust 编写的,它的性能比传统的 Python 工具(如
pip)快 10-100 倍。 - 多功能:它不仅仅是一个包管理器,还能管理虚拟环境、解析依赖、构建包等。
- 兼容性好:支持标准的 Python 包格式(PEP 517/518),可以与现有的
requirements.txt或pyproject.toml工作流无缝衔接。 - 一体化:官方口号是“一个工具替代多个”,它可以同时处理安装、环境创建、依赖锁定等任务。
2. 常用命令示例
uv 的命令结构通常分为几个子命令:
管理虚拟环境
# 创建虚拟环境 uv venv # 激活环境(或配合 --system-site-packages 使用) source .venv/bin/activate安装/管理包 (替代 pip)
# 安装包(速度极快) uv pip install requests # 安装 requirements.txt uv pip install -r requirements.txt # 升级包 uv pip install --upgrade requests项目管理 (类似 poetry)
# 初始化项目 uv init # 添加依赖 uv add pandas numpy # 删除依赖 uv remove numpy运行脚本
# 在隔离环境中运行 Python 脚本 uv run python script.py
3. 如何安装
你可以通过官方提供的脚本快速安装(支持 macOS, Linux, Windows):
# Linux / macOS
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
4. 常见误区
- 不是
uvicorn:有时候初学者会混淆uv和ASGI 服务器uvicorn。uvicorn是运行 Python Web 应用(如 FastAPI)的服务器,而uv` 是包和环境管理工具。 - 不是
pip的简单封装:虽然它可以替代pip命令(uv pip),但它有自己独立的依赖解析逻辑,速度更快。
总结
如果你正在寻找更快的 Python 包安装体验,或者希望用一个工具同时管理虚拟环境、依赖和项目结构,uv 是目前 Python 社区最推荐的现代化替代方案。特别是对于追求开发效率的开发者来说,它已经非常成熟且值得尝试。