当我尝试使用 pip install 安装库时,有时会出现此错误消息。
ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents carefully; someone may have tampered with them.
Run Code Online (Sandbox Code Playgroud)
当我尝试使用 docker-compose V2 构建多个映像时,会出现此错误。
我做了什么:
pip install --no-cache-dir -r requirements.txt然而,它仍然是随机出现的。错误消息引用的库也在不断变化。
有谁知道这个问题的原因?
小智 1
这是 pips 集成的检查机制,可以自动检查下载包的完整性。
您可以自己检查(通过单击 has 列中的视图)从 pypi 加载的 whl 文件的 sha256 应该是这样的:
7a2c93be4f874fd42541a1330218d2094015993420bf0bd8fbf19c88e6b49c6a
Run Code Online (Sandbox Code Playgroud)
但例如你的错误表明你得到了这个:
g4dd3fb13afd095a21c7dfd0d2f9bd0a3593c3c78e81ca2f475429490752e7b8
Run Code Online (Sandbox Code Playgroud)
所以pip(出于安全原因)不为您安装该软件包。我建议:
pip获取了错误下载的文件 - 如果是,请尝试将其删除whltmpwhlwhl文件,然后检查输出pip hash <whl file>(如果它与g4dd3fb13af...sha 匹配)以及是否可以执行pip install <whl file>另外,我也遇到了类似的问题,我尝试了一下,它有效:
sudo pip install --no-cache-dir `YOUR_PACKAGE_NAME`
Run Code Online (Sandbox Code Playgroud)