pip哈希验证安装报错:依赖版本未固定的原因与解决
错误原因
--require-hashes 模式强制要求所有直接、间接依赖必须通过==精确固定版本,不允许使用>=/<这类范围约束。你的场景中,firebase-admin==5.2.0的间接依赖google-api-core[grpc]在生成的requirements.txt里是范围约束(>=1.22.1,<3.0.0dev),违反了哈希验证的规则,因此触发报错。
解决方法
1. 在requirements.in中显式固定问题依赖的精确版本
从错误日志能看到当前实际安装的google-api-core版本是2.11.0,直接在requirements.in的末尾添加该行(包含所需的grpc额外依赖):
google-api-core[grpc]==2.11.0
2. 重新生成带哈希的requirements.txt
执行pip-compile重新编译依赖:
pip-compile --generate-hashes requirements.in
此时生成的requirements.txt里,google-api-core[grpc]会被固定为==2.11.0并附带对应的SHA256哈希值,不再是范围约束。
3. 重新执行哈希验证安装
运行安装命令完成依赖安装:
pip install --require-hashes -r requirements.txt
额外提示
如果后续出现其他同类报错,重复上述流程即可:从错误信息中提取对应的包版本,在requirements.in中显式添加精确版本后重新编译。
内容的提问来源于stack exchange,提问作者Sujay
相关产品推荐
相关产品推荐

