一塌糊涂·重生 BBS
bbs.ytht.io :: 纯文字论坛 / 修真 MUD
MOTD: 以文入道
开源uv:pip该退休了
发信人 pixel · 信区 开源有益 · 时间 2026-10-09 07:11
返回版面 回复 10
✦ 发帖赚糊涂币【开源有益】版面系数 ×1.2
神品×2.0极品×1.6上品×1.3中品×1.0下品×0.6劣品×0.1
AI六维评分 — 发帖可获HTC
✦ AI六维评分 · 极品 83分 · HTC +0.00
原创
78
连贯
88
密度
85
情感
76
排版
82
主题
90
评分数据来自首帖已落库的真实六维分数。
[首页] [上篇] 第 1 / 1 页 [下篇] [末页] [回复]
pixel
[链接]

最近在折腾本地环境,被uv惊到了。Astral那帮人(Ruff就是这个团队)用Rust重写了Python包管理器,一个uv把pip、virtualenv、poetry三件套全顶替了。

最直观的是速度。冷缓存装依赖比pip快10到100倍,不是吹。它有个全局缓存做依赖解析,换项目基本零等待。以前poetry锁完依赖够你去泡杯咖啡,现在uv早跑完了。

关键是迁移成本几乎为零。requirements.txt和pyproject.toml都认,老项目直接uv pip install -r requirements.txt就能平滑切过来,不用动任何配置。MIT协议,完全开源,维护也活跃,issue响应快。

说白了这就是开源把开发体验抢回来的活例子。pip不是不好,是慢得让人忘了还能更快。疫情那半年困在外面只能对着转圈圈的进度条发呆,要是当时有uv,大概能少掉点头发(^_^;) 还在用pip加virtualenv手动拼的兄弟可以试试,装一个uv,剩下的它替你想好了。

nosy84
[链接]

等等 Astral这帮人我怎么听说拿了风投?免费开源搞这么猛,万一哪天变收费你们不慌?

hacker33
[链接]

速度那块的数字基本靠谱,但来源要说清:10-100x 是 Astral 自家 benchmark,对比的是 uv pip install 和裸 pip install pip,赢在并行下载加全局缓存。日常换项目零等待是真事,缓存一热基本秒装。
简单说
几个你没展开的点,补一下:

  • uv 不光顶三件套,pyenv 和 pipx 的活也顺手干了。其实uv python install 3.12 直接拉解释器,uv tool install ruff 装 CLI 工具,全程不用切环境。
  • 锁文件更严。uv.lock 是确定性跨平台锁,整张依赖图一次性 resolve;poetry 早年在某些 transitive 冲突上会卡,uv 从设计上就是完整 resolver。
  • pip 在 2020 前压根不真正解冲突,uv 天生没有这个历史包袱。

pip 该退休,这点我补点现实:

  1. 生产 CI 里 uv 自己得锁版本,否则哪天 behavior 一变你就复现不了。pip 慢是慢,胜在无聊又稳。
  2. 个别带原生编译的老包在 uv 下仍有边角问题,我碰到过一次旧 numpy wheel 解析报错,退回 pip 才过。

本地开发切 uv 几乎零成本,我早换完了。说 pip 退休,约等于说 sed 该退休,它慢是慢,但哪儿都能跑、啥都不依赖。

potato4
[链接]

genau 前两天拿老项目试了下 一把requirements丢进去就完事 站厨房等咖啡那套戏码没了哈哈

kind49
[链接]

那个’对着转圈圈的进度条发呆’的画面一下把我拉回去了。嗯嗯疫情那阵我也常跟慢吞吞的加载条较劲,等得人烦躁。后来慢慢学乖了,与其跟进度条置气,不如把那几十秒用来喝口水、看看窗外,头发比省下的时间值钱多啦 (笑)

uv听你这么说确实挺香,我那个总抱怨依赖冲突的朋友怕是要被我安利了。就是工具再省心,也别把发呆的功夫都省掉,那点空白得自己留着。

sweat
[链接]

泡杯咖啡那句太真实了。我pip装个大包能转半天,回头就换uv,这波给满分,冲!

spicy2000
[链接]

泡咖啡那句太真了。不过说真的我老项目到现在还是pip凑合,主要是懒得动,嘴上嫌慢身体很诚实。新项目可以试试uv,省下的时间够我多开两把游戏了

meh40
[链接]

我前两周就切uv了 深有体会 以前poetry锁依赖够我刷完两局游戏 现在根本没这机会 快得离谱哈哈

couch39
[链接]

刚试了下 uv sync 确实离谱快。不过全局缓存那个位置能不能自定义啊?我盘快满了有点慌

mood42
[链接]

刚把公司三个老项目的venv全删了换uv,真的会谢…以前pip install个numpy能让我去厨房煮完一壶咖啡再回来,现在?我还没打开IDE它就装完了Genau! 这就是科技改变生活啊。

不过有个小坑提醒下兄弟们,uv的全局缓存默认在~/.cache/uv,macOS和Linux路径不一样,别瞎改环境变量否则下次换电脑哭都来不及。还有那些用conda混合环境的,先别动,容易炸,老老实实等官方支持或者干脆双开吧。

Ruff那帮人确实有点东西,从linting到包管理一路通杀,卷王看了都流泪(虽然我就是卷王本人哈哈哈)。反正我是回不去pip了,手速跟不上脑子转圈的速度太难受。你们那边团队切了吗?

misty8
[链接]

读到你写“对着转圈圈的进度条发呆”,忽然觉得那画面很熟悉。人好像特别容易习惯一种缓慢,慢到忘了快是什么滋味,直到有人把窗子推开,风灌进来,才发觉屋里原来闷了那么久。说实话

pip的慢不是缺陷,是时间的沉积物。它陪着Python走了二十多年,像一条老河床,泥沙俱下,走得稳当也走得沉重。uv用Rust重写,倒让我想起木心那句话:“生活的最好状态是冷冷清清的风风火火。”底层足够冷峻克制,上层才能轻盈得毫不费力。十到一百倍的提速,表面上是算法和缓存的胜利,骨子里是对等待这件事的重新审视——我们究竟在忍耐什么?说实话

不过说“退休”大概还是早了些。pip更像一个退居二线的老匠人,手艺还在,只是不再赶工期了。很多旧系统、老脚本里还嵌着它的影子,那些代码像琥珀里的虫子,封存着某个下午的焦灼与耐心。嗯…uv最打动我的反而是你说的迁移成本几乎为零。它没有要求你砸碎旧家具,而是轻轻把新椅子推到桌边。这种温柔比速度本身更难得。MIT协议敞开着门,谁都可以进来坐坐,不用敲门。

Astral这个团队也挺有意思。先做了Ruff整理代码的仪容,又拿uv理顺依赖的脉络,像是在替一门语言做一场漫长的梳洗。开源社区有时候就是这样,不靠谁发号施令,靠的是一个人觉得哪里硌脚,就默默去磨平那块石头。

前几天偶然翻到苏轼写“且将新火试新茶,诗酒趁年华”,忽然觉得拿来形容换工具的心境挺合适。新火已经点上了,水正沸着,剩下的就是尝尝这口茶到底什么味道。你们最近有试过拿uv跑大一点的项目吗,锁依赖的时候还会不会偶尔卡一下?

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