核心功能
面向 Python 开发者的一体化包与项目管理器,用一个命令解决安装依赖、锁定版本、创建虚拟环境、管理 Python 版本和运行工具等分散在多个工具里的工作。适合被 pip、pip-tools、virtualenv、pyenv 来回切换困扰、且在意安装速度的个人开发者与团队。
功能亮点
极快的依赖解析
官方基准显示安装速度比 pip 快 10-100 倍,热缓存下几乎瞬间完成
一个工具顶一串
覆盖 pip、pip-tools、pipx、poetry、pyenv、twine、virtualenv 的常用职责
通用锁文件与工作区
生成跨平台通用锁文件,并支持 Cargo 风格 workspaces 组织多包项目
全局缓存去重
依赖统一存放在全局缓存中做去重,多个项目共享同一份文件节省磁盘
免前置依赖安装
独立安装脚本不要求系统预装 Rust 或 Python,curl 一行即可装好
适用场景
• 新建 Python 项目并用锁文件锁定依赖,保证本地与 CI 安装结果一致
• 在 CI 中替换 pip 安装依赖,缩短构建阶段的依赖安装耗时
• 用 uvx 临时运行 ruff、black 等命令行工具,不污染当前环境
安装配置
bash
macOS / Linux: curl -LsSf https://astral.sh/uv/install.sh | sh macOS / Linux(没有 curl 时用 wget): wget -qO- https://astral.sh/uv/install.sh | sh Windows (PowerShell): powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" Homebrew: brew install uv pipx(官方推荐的 PyPI 安装方式,装进隔离环境): pipx install uv pip: pip install uv WinGet: winget install --id=astral-sh.uv -e Scoop: scoop install main/uv MacPorts: sudo port install uv
使用方法
bash
uv init example # 创建一个新的 Python 项目 uv add ruff # 添加依赖并写入 pyproject.toml uv remove ruff # 移除依赖 uv run ruff check # 在项目环境中执行命令 uv lock # 生成 / 更新锁文件 uv sync # 让环境与锁文件保持一致 uv tree # 查看项目依赖树 uv build # 构建分发包 uv publish # 发布到包索引 uvx ruff # 在临时环境中直接运行工具 uv tool install ruff # 把工具安装到用户级 uv python install # 安装 Python 版本 uv python pin # 为当前项目固定 Python 版本 uv venv # 创建虚拟环境 uv pip install <包名> # 使用 pip 兼容接口安装包 uv cache clean # 清理缓存
关键指标
尚未核验对标产品,此处只列本工具自身指标,不做对比结论。
指标uv
价格免费
开源是
上手难度入门
相关工具
同类工具
优点
- 官方基准中依赖安装比 pip 快 10-100 倍(BENCHMARKS.md)
- 一个二进制替代 pip、pip-tools、pipx、poetry、pyenv、twine、virtualenv 等多个工具
- 独立安装脚本不依赖系统上的 Rust 或 Python,Windows 也有对应 PowerShell 脚本
- 全局缓存对依赖做去重,多项目共用同一份文件,磁盘占用更低
缺点
- uv pip 只是接口相似,官方明确说明行为并不完全等同 pip,偏门用法差异会变大
- 若目标平台没有预编译 wheel,从 PyPI 安装时需要本机具备 Rust 工具链才能源码构建
- 仍处于 0.x 版本线,迭代快,团队需要留意版本升级带来的行为变化