
uv 快速安装与性能对比Python 依赖管理完全指南【免费下载链接】uvAn extremely fast Python package and project manager, written in Rust.项目地址: https://gitcode.com/GitHub_Trending/uv/uv你克隆同事的项目第一次装依赖pip 让你等了十分钟换成 uv同样的操作几秒钟结束。uv 是一个用 Rust 编写的 Python 依赖管理工具核心价值就一句话让依赖安装和解析变快而且不用重新学一套概念。 一句话定位Rust 重写的 Python 依赖管理工具uv 干三件事管理依赖解析并生成锁文件、管理环境建虚拟环境、装包、管理 Python 本身安装和切换版本。凭什么快两个原因核心解析器用 Rust 实现可以并行完成解析和下载第二它有一个跨项目共享的全局缓存包只存一份。官方基准测试的结论很直接同类场景下uv 比 pip快 10100 倍。⚡️ 三步完成安装验证macOS 和 Linux 上一条命令装完curl -LsSf https://astral.sh/uv/install.sh | sh uv --version第二条就是验证命令能打印出版本号说明安装成功。Windows 用户可以直接pip install uv详见 docs/getting-started/installation.md。之后可以用uv self update自行升级到最新版不需要再跑一次安装脚本。 uv 核心优势解析快、装得快、占得少依赖解析零缓存也是秒级依赖解析通常是整个流程里最耗时的环节——工具要反复试探版本组合确认哪些包能共存。官方基准里冷启动本机没有任何缓存时 uv 的解析速度也领先 pip-compile、Poetry、PDM 等对比工具有缓存时几乎是瞬时完成。一个 43 个包的需求清单官方示例中解析只花了12ms。冷启动解析对比没有缓存时uv 的依赖解析依然领先热安装重建环境近乎免费所谓热场景指包已经在缓存里你只是想换一个干净的虚拟环境重新装一遍。此时 uv 在 Linux 上用硬链接、macOS 上用 reflink 建索引安装动作本质上只是创建本地文件链接不重新下载、不复制文件体。官方示例里 43 个包的完整安装在208ms内结束。热安装对比缓存命中时重装整套依赖环境近乎瞬时全局缓存同一份依赖只占一份磁盘这个机制像提前把食材备在灶台边不管哪个项目后厨开火伸手就能用不用每次重新采购。缓存是全局的多个项目依赖同一个包时共享同一份文件磁盘占用不会随项目数量线性膨胀。存储结构和清理方式可以看 docs/concepts/cache.md。️ 实战场景三种最常用的打开方式从零初始化新项目uv init demo cd demo uv add requests uv syncuv init生成 pyproject.tomluv add解析依赖并写入锁文件uv sync让虚拟环境与锁文件对齐。三条命令从零走到可运行的环境。迁移旧项目的 requirements.txt不用改造现有流程pip 兼容接口可以原位替换uv pip compile requirements.in --universal -o requirements.txt uv pip sync requirements.txt前者对应 pip-compile后者对应 pip-sync命令形态基本不变但速度通常快一个数量级。--universal会生成跨平台的锁文件一台机器解析、多平台复用。接入 CI 流水线uv lock uv sync --locked--locked会在锁文件与 pyproject.toml 不一致时直接失败避免 CI 静默装出和开发机不同的环境。再把 uv 的缓存目录加入 CI 缓存冷安装就变成了热安装构建时长进一步压缩。CI 发布流程示例用 Environments 给发布环节加一层人工门禁 性能对比数据与进阶细节场景数据解析 43 个包有缓存12ms安装 43 个包有缓存208ms安装 3 个 Python 版本972ms总体安装速度对比 pip快 10100 倍冷启动安装对比全新机器上uv 的安装速度仍大幅领先进阶细节多平台支持 macOS、Linux、Windows版本管理uv python install 3.12 3.13 3.14一次装多个版本uv python pin为当前目录固定版本工具运行uvx免安装直接跑某个工具替代 pipx大型仓库支持 Cargo 风格的 workspace见 docs/concepts/projects/基准测试的环境、口径和复现方式见 BENCHMARKS.md 与 docs/reference/benchmarks.md小结什么时候值得切到 uv只要团队里跑 Python 的项目超过一个或单个项目的依赖树装一次要超过一分钟uv 就值得试。新项目从uv init起步老项目用uv pip原位替换锁文件加缓存的组合能把 CI 里最拖时间的那一段压得很短。如果只想先验证一下建议在装依赖最慢的那个项目里跑一次uv sync自己对比前后耗时。【免费下载链接】uvAn extremely fast Python package and project manager, written in Rust.项目地址: https://gitcode.com/GitHub_Trending/uv/uv创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考