请别把 uv-build 当构建后端
来源:blogs.gentoo.org — 2026-10-12
📋 概述
Gentoo 开发者 Michał Górny 以「又有一打包因为某个关键依赖改用 uv-build 而丢掉关键字」为由,恳请上游不要把 uv-build 用作构建后端。他强调问题不在 uv 本身——那是好工具,上游响应也及时——而在于 uv-build 这个后端的好处抵不过代价:它是用 Rust 写的大依赖(0.13.0 的 wheel 在 1.2 至 1.5 MiB 之间,而纯 Python 的 flit-core 只有 45 KiB),发布又极频繁,30 天内出了 12 个版本,Gentoo 用户不得不反复从源码构建;更大的问题是可移植性,从依赖跳过 SPARC 到 32 位平台地址空间不足,都得靠补丁绕开。他认为「与项目工具链一致」无关紧要,因为 PEP 517 的本意就是任何后端都能配任何前端,而性能差异现实中只有约 100 ms 量级,还会被下载 1.5 MiB wheel 的时间抵消。
🔑 核心要点
- 先说清前提:不是反对 uv 本身,只是反对把 uv-build 当构建后端
- 体积对比:0.13.0 的 wheel 在 1.2–1.5 MiB 之间,而纯 Python 的 flit-core 只有 45 KiB
- 发布频率:30 天内发布了 12 个版本,Gentoo 用户要为此一遍遍从源码构建
- 最大问题不是构建时间而是可移植性:rustix::fs 等依赖莫名跳过 SPARC,32 位平台甚至地址空间不足
- 「与项目工具链保持一致」无关紧要,因为PEP 517 的本意就是任何后端都能配任何前端
- 性能理由更站不住脚:现实差异只有约 100 ms 量级,还可能被下载 wheel 的时间抵消
💡 金句
我要代表 Gentoo 用户请求:请不要把 uv-build 用作构建后端。
👍 0
👎 0
← 返回 Lobsters 首页