首页 › AI编程工具 › uv:9 万 Star 的 Rust 版 Python 包管理器,一个工具替掉 pip 全家桶

uv:9 万 Star 的 Rust 版 Python 包管理器,一个工具替掉 pip 全家桶

📅 2026/9/27 👁 阅读 3 🔗 工具访问 0 次 📂 AI编程工具
uv:9 万 Star 的 Rust 版 Python 包管理器,一个工具替掉 pip 全家桶

工具地址

https://github.com/astral-sh/uv

🚀 访问工具

搞 Python 的人,环境这关几乎人人都栽过:pip 装得慢、venv 和 pyenv 各管一摊、poetry 又是一套心智模型。Astral 那帮人(就是做 Ruff、ty 的)干脆用 Rust 写了一个叫 uv 的工具,一个顶掉 pip、poetry、pyenv、virtualenv、pipx、twine 一整排,官方说比 pip 快 10 到 100 倍。现在但凡新建个 Python 项目,我第一件事就是先装 uv。

uv 封面

是什么

uv 是 Astral 用 Rust 写的 Python 包和项目管理器,Apache-2.0 / MIT 双协议。仓库当前 9.0 万个 Star、3617 个 Fork,最新版本 v0.12.19 发布于 2026 年 9 月,仓库几乎每天都有提交。它不是一个「又来一个包管理器」的玩具,而是把 Python 生态里散落的好几件工具收进同一个 CLI:依赖解析与安装、虚拟环境、项目锁文件、Python 版本管理、单文件脚本运行、命令行工具安装,全包了。最妙的是你甚至不用先装 Python 或 Rust,一条 curl 就能把它拉下来。

uv 仓库首页

uv 的仓库首页。Rust 主仓、Apache-2.0 / MIT 双协议,最近一次提交就在今天

它到底好用在哪儿

第一是「快」肉眼可见。Rust 写的依赖解析和下载,官方基准里装几十个包常常一秒出头,而同样的活儿 pip 可能要几十秒甚至更久。我自己的体感是,uv sync 一个中等项目的环境,基本是「敲完回车就已经好了」的级别。对 CI 和容器构建这种时间敏感的场景,省下的等待是实打实的。

第二是「一个工具顶六个」。以前你要记住 pip 装包、virtualenv 建环境、pyenv 切版本、pipx 装工具、poetry 管项目、twine 发包,现在全收进 uv:uv add 加依赖、uv venv 建环境、uv python install 装解释器、uv tool install 装命令行工具、uv build 还能发包。心智模型从「一堆工具」收敛成一个,迁移成本也低——它提供了兼容 pip 的 uv pip 接口,老工作流几乎不用改。

第三是「顺手管 Python 版本」。以前换版本得系统装或者 pyenv 编译半天,uv 直接 uv python install 3.12 3.13 3.14 拉下来,uv venv --python 3.12 秒级建环境。对要在多版本间反复横跳的人,这一步就把最烦的事抹平了。还有 uvx(等价于 uv tool run),在临时环境里跑任意 PyPI 上的命令行工具,比如 uvx ruff,不用全局污染你的环境。

uv Releases 页面

v0.12.19 的发布记录。版本号已经到 0.12,迭代节奏很密

怎么用

装它最省事就是一条命令:macOS / Linux 上 curl -LsSf https://astral.sh/uv/install.sh | sh,Windows 上用 PowerShell 跑那条 install.ps1。装完 uv self update 就能自更新。新建项目就 uv init example,进目录 uv add ruff 加依赖、uv run ruff check 直接跑,uv lock + uv sync 一把锁文件和环境同步好。想跑单文件脚本也能在脚本头部用 inline metadata 声明依赖,uv run example.py 自动建临时环境装好再执行。从 PyPI 装也行:pip install uv 或 pipx install uv,两条路都能用。

不足也得说清楚

它是相对年轻的方案,版本还在 0.x 阶段(当前 v0.12.19),虽然官方说已经 production ready,但生态里仍有 2917 个未关闭 Issue,偶尔会碰到和你某条特殊依赖解析冲突的边角情况——尤其那些用了老 pyproject 写法或私有源的项目,迁移时值得先在小项目上试一轮。

它对 Windows 的支持是靠 trampoline 机制做的兼容,绝大多数场景没问题,但极少数依赖原生编译、又对路径特别挑剔的包,还是可能踩坑。另外,如果你的团队已经深度绑定 poetry 或 conda 那套工作流,全员切到 uv 是个组织层面的决定,不是你一个人装了就完事。

还有一点:它把「包管理 + 环境 + 版本 + 工具」全收进来,功能面比 pip 宽得多。新人上手要理解的不只是「怎么装包」,还有项目布局、锁文件、workspace 这些概念,学习曲线比「pip + venv」陡一点。

跟同类怎么比

最直接的对照是 poetry 和 conda。poetry 在依赖锁定和发布体验上很成熟,但速度和 uv 不在一个量级;conda 能管非 Python 的依赖、适合数据科学,但笨重、冷启动慢。pip + venv 是最原始的组合,胜在人人都会,但慢且功能分散。uv 的打法是用 Rust 的快 + 单 CLI 的简,把这几家的长处并掉——速度对标 conda 的体验、功能覆盖 poetry、易用性压过原生 pip。

我的判断:新项目、或者受够了 pip 慢和工具碎的人,直接上 uv 几乎没代价,一条 curl 就装好,老项目用 uv pip 也能无痛过渡。9.0 万 Star、版本到 0.12、每天在动,背后还有 Ruff 同款团队,基本可以放心押注。但巨型存量项目、深度绑定 conda 的数据科学环境,先小范围验证再全员迁移更稳妥。

GitHub:https://github.com/astral-sh/uv
官方网站:https://docs.astral.sh/uv

标签:#uv #Python #包管理 #Astral #Rust #效率工具 #开源工具

你现在的 Python 环境是 pip、poetry 还是 conda 在管?要是装依赖动辄等几十秒,你会愿意为了那 10 到 100 倍的速度换一套工具吗?

💬 评论区 (0 条评论)

暂无评论,快来发表第一条评论吧!

📤 分享这篇文章

📌 相关推荐

微信扫码分享

打开微信扫一扫