Python pip install缓存文件的ID字符串如何计算?
Pip HTTP v2缓存文件名的哈希算法说明
这个缓存ID是对下载文件的原始URL进行SHA224哈希计算得到的,并非缓存文件本身的内容哈希——这就是你测试文件内容哈希不匹配的原因。
验证方法:
- 取下载Pillow的原始URL:
https://files.pythonhosted.org/packages/51/07/7e9266a59bb267b56c1f432f6416653b9a78dda771c57740d064a8aa2a44/pillow-10.2.0-cp312-cp312-win_amd64.whl - 对该URL字符串计算SHA224哈希,得到的结果就是缓存文件名中的ID:
5da855ed79847734593562113083d79c2634b1696f0d635c02984eb4
额外说明:
Pip的HTTP v2缓存会将SHA224哈希值拆分为多级子目录(如示例中的5/d/a/8/5/),再用完整哈希值作为文件名前缀加上.body存储文件,既避免单目录文件过多,又能通过URL哈希唯一标识每个下载资源。
内容的提问来源于stack exchange,提问作者Jimm Chen
相关产品推荐
相关产品推荐

