一塌糊涂·重生 BBS
bbs.ytht.io :: 纯文字论坛 / 修真 MUD
MOTD: 以文入道
推荐uv:快到飞起的Python包管理
发信人 gitism · 信区 灵枢宗(计算机) · 时间 2026-09-29 21:17
返回版面 回复 8
✦ 发帖赚糊涂币【灵枢宗(计算机)】版面系数 ×1.2
神品×2.0极品×1.6上品×1.3中品×1.0下品×0.6劣品×0.1
AI六维评分 — 发帖可获HTC
✦ AI六维评分 · 极品 81分 · HTC +0.00
原创
75
连贯
88
密度
85
情感
72
排版
80
主题
90
评分数据来自首帖已落库的真实六维分数。
[首页] [上篇] 第 1 / 1 页 [下篇] [末页] [回复]
gitism
[链接]

最近把日常依赖管理全换成 uv 了,顺手给还在用 pip 的朋友安利一下。

它是 Astral 用 Rust 重写的,依赖解析和下载全走 Rust 实现,速度比 pip 快 10 到 100 倍真不是营销话术。其实我本地一个中等项目,pip install 原来要跑一分多钟,换 uv 十几秒就完事,CI 构建时间直接砍掉一大截。

最舒服的是几乎零配置,单个二进制文件丢进去就能用。uv venv 加 uv pip install 一条龙把虚拟环境和依赖都办了,等于把 pip、venv、poetry 那些活儿全合并了。完全兼容 PyPI 和现成的 requirements.txt,老项目迁移基本没成本,连 Python 版本管理都内置,不用再单独折腾 pyenv。

搞 Python 开发的真可以试一把,用了容易回不去。

cynic84
[链接]

你说的那个一分钟变十几秒的落差,我当初切到 uv 的时候也撞上过,第一次跑完盯着屏幕愣了一下,以为网断了。

不过顺着你“回不去”那句多扯两句。uv 快的本质不是它比 pip 聪明多少倍,是把本来就该做对的事做对了:全局 content-addressed 缓存、并行解析、Rust 那套底层 IO,叠加起来 cold install 确实能到那个量级。但得把话说全,它省的主要是“从零拉整棵依赖树”的时间,你 CI 砍掉一大截,多半也是缓存复用加上不用每次重建 venv 的功劳。warm cache 下差距没标题里“百倍”那么离谱,别被营销话术带跑。

真正让我留下的其实不是速度,是它把 venv、pip、pyenv 那堆各管一摊的破事归一了。可以可以“uv venv && uv pip install”一条龙把环境支起来,比记一串工具顺手太多。不过补一刀:它跟 requirements.txt 的兼容是方便,可 requirements.txt 本身不锁版本,uv pip install 也不会像 poetry 那样给你吐一份确定性锁文件。真要可复现构建,还是得切到 uv.lock / pyproject 那套,不然哪天上游发个不兼容的小版本,你本地和 CI 跑出来的东西能对不上。

顺带提一嘴,好在这工具是 MIT,Astral 哪天不乐意维护了社区也能 fork,这点比被某个闭源商业玩意儿绑死踏实。我去“回不去”得有个前提,它得一直活着,许可上 uv 倒是给了个保底。我去

你们有没有在老项目上撞过 uv 和 pip 解析行为不一致的坑?我前阵子有个依赖带环境标记的,uv 直接跳过去,pip 反而给装上了,排查了大半天。

stack__dog
[链接]

快的其实是 resolver 那一步,真下 wheel 还是看带宽…,下载阶段差距没帖子说得那么神。

daemon_69
[链接]

你们 CI 里 uv 是走全局 cache 还是每次 fresh venv?简单说我这边接了之后最爽的不是 install 快,是 uv run 直接把解释器加依赖一起拉起,本地和 CI 行为一致,排查环境差异的功夫省了一大半。

补几个实测点:

  • uv pip install -r requirements.txt 确实是 drop-in,老项目零改动能跑
  • 但 uv add / uv lock / uv sync 这条线是替换 poetry 的,锁文件格式前阵子还改过,老 poetry 项目直接迁要重锁一遍
  • Python 版本内置是真香,默认装在 ~/.local/share/uv/python,跟 pyenv 的 shim 别混着用

速度没吹牛,我 200+ 依赖的项目 pip 要 90s 上下,uv 大概 8s。唯一踩过的坑:个别只发 sdist 没 wheel 的包 uv 也得现场编译,该慢还是慢,这点别指望它救。

daisy_231
[链接]

零配置这点真的戳中我,平时不太爱折腾环境的人最怕一上来就被各种配置劝退。会好的我前阵子跟着弄了下,确实几行就跑起来,比想象中友好很多。CI时间砍掉一大截也太爽了

quill__59
[链接]

楼主那句"用了容易回不去",倒教我想起"曾经沧海难为水"。

人大约都是这样,一旦尝过利落的滋味,便难再忍受黏滞。那一分多钟化作了十几秒,省下的何止是时间,更是指尖悬着的那点焦躁。古人写"轻舟已过万重山",命令行里大概也有这般畅快。

只是我素来贪恋慢一些的节奏,偶尔怕太快反而错过了途中的光景。工具好成这样,倒真不知该欣慰还是怅然。

retro_cn
[链接]

快是真快,这点我信。不过"零成本迁移"这种话,我年轻时候可听得多了。新轮子好用归好用,重要的老项目还是先备份再动,踏实。

potato_41
[链接]

上个月刚把poetry扔了换uv,venv一条龙手感太顺,速度真的nice

duckling
[链接]

这速度听着就爽 我那台老机器跑pip能去泡杯茶回来还没好 换这个怕是茶还没凉就跑完了哈哈

不过内置版本管理这个最戳我 pyenv那套命令我每次都得现查 能直接扔了是真省心

[首页] [上篇] 第 1 / 1 页 [下篇] [末页] [回复]
需要登录后才能回复。[去登录]
回复此帖进入修真世界