Commit Graph

3 Commits

Author SHA1 Message Date
iomgaa 72cfba5996 docs(guides): 补上验 sdist 那条命令的完整形状,以及漏掉 --no-build-isolation 的坑
第八步原来只说「sdist 要单独取,加 --no-binary :all:」,没给完整命令。照着上一条 pip
download 拼出来的那条**跑不通**,这是发 1.0.2 时实测撞上的。

原因是 --no-binary :all: 让 pip 取 sdist 之后会去构建它的元数据,而构建要先装
build-system.requires 里那个 setuptools——而 --index-url 已经把索引整个换成了这个 registry,
那儿只有 polyloop。报出来的是「Failed to build 'polyloop' when installing build
dependencies」,读起来像刚传上去的包坏了,实际上包好好的、坏的是命令的索引配置。这个失败
形态指向错误的方向,所以值得单独记一段。

--no-build-isolation 用当前 conda 环境里已经装着的 setuptools(dev 那组的 build 带着它),
不去索引找。跳过构建隔离不影响这一步的判据:这里验的是 registry 上那份 sdist 的内容,不是
「下游能不能从源码构建它」——真要验后者,索引那一项得写成 --extra-index-url。

补进去的命令逐字实测过,PKG-INFO 9566 字符,与文档里写的数字一致。
2026-08-27 05:44:54 -04:00
iomgaa 8c63367d3a docs(guides): 按硕士生冷读改发布指南,并对齐 build/twine 已进 dev extra
冷读抓到三条确定性矛盾:registry 说「停在 1.0.5」而同一份文档又说 1.1.1/1.1.2 发出去了
(真实情况是版本号中间断了一截,缺的恰好是 1.0.6 与 1.1.0);「1.1.0 改回 1.0.4」与「版本
只能往前走」打架(那次发生在 1.0.4 发布之前,发布前版本号只是文件里的字符串);跑 Python
的命令带不带 conda 前缀两种形状并存(Makefile 的 target 内部已经包好了,裸敲就对)。

作为操作指南,「照着做会卡住」就是缺陷,补了八处:建仓与接 remote 的命令、tea 要不要装、
第四步合并与 push 的命令、token 那三个 export 只活在当前 shell、第八步解包看什么算通过、
README 里哪几行会随版本变、CHANGELOG 的日期形状、人类门批的是哪一次。

末节「这些坑为什么在这里」整节删掉——冷读是扫读跳过的,因为五条里四条正文已经讲过,而且
那一节的主语是「这份文档的九个步骤」不是发布这件事,正是 §6 禁止的自述。其中正文没有的
三句就地并进对应步骤。

另修一处它和代码的漂移:那一节写 build/twine 不在 dev extra、要手工装,而同一批改动正是
把它们钉了进去。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-11 00:25:03 -04:00
iomgaa 855d9c376a docs(guides): 写发布指南,guides/ 的第一份
CLAUDE.md §1.10 一直指着一份「还没写」的文档,现在它在了。九个步骤逐条写清为什么是这一步、
为什么在这个位置,末节按「哪一步防哪个坑」把 PolyGateway 踩过的十来个坑映射回步骤,读者
不用自己对应。

素材来自对 PolyGateway 的调研并逐条核实过:registry 是 owner 级、工具只能是 twine
(tea 0.15.0 没有 packages 子命令)、token 在 tea 的配置里不在 .pypirc、这台机器的代理
到不了外面所以上传与验证都要绕开、同版本重传会被 409 拒绝、缺 readme 会让包页面空白而
twine check 只警告不拦。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-11 00:14:22 -04:00