主要观点:Python 包文件名(wheel filenames)没有规范化形式,导致在比较两个 wheel 文件名是否“等价”时需解析而不能直接比较,且存在压缩标签集导致的非规范化问题,虽在普通设置中影响不大,但在加密等场景下有重要影响,同时提出了简单的修复方法。
关键信息:
- Python 有 sdist 和 wheel 两种包格式,wheel 文件名更复杂且包含更多元数据。
- 虽有对 Python 包名和版本的规范化规则,但 wheel 文件名无此规则。
- 压缩标签集可使 wheel 兼容多个标签,但其顺序和重复无标准,导致 wheel 文件名无标准规范化形式。
- 在普通设置中多数用户无需关心此问题,但在加密等场景下可能影响签名验证。
重要细节: - 示例代码展示了不同情况下 wheel 文件名的差异及解析结果,如不同大小写的包名、不同形式的版本号等。
- 详细说明了压缩标签集的定义和作用,以及其导致的非规范化问题。
- 提及对修复此问题的建议,包括在 wheel 规范和平台兼容性标签规范中进行相关说明和规定。
- 讨论部分提供了在 Mastodon 和 Reddit 上的讨论链接。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。