Jus*_*ick 9 python hash dependencies python-3.x pipenv
我在使用 Pipenv 时遇到问题。我运行pipenv install --dev是为了从我的项目中的 Pipfile 安装一些依赖项。运行此命令后,Pipenv 会为某个依赖项生成一个 MD5 哈希值。错误是说不支持 MD5 但仍然会生成它。我没有在本地机器或任何配置文件中设置任何配置。我似乎无法确定这个问题。任何帮助是极大的赞赏。
[pipenv.exceptions.InstallError]: pip: error: Allowed hash algorithms for --hash are sha256, sha384, sha512.
pipfile.lock
{
"_meta": {
"hash": {
"sha256": "7e0f1d75f7df19f9500f55bd2f1da163cb4a8c7f485aab61c521d70e3865a507"
},
"pipfile-spec": 6,
"requires": {
"python_version": "3.6"
},
"sources": [
{
"name": "pypi",
"url": "https://pypi.org/simple",
"verify_ssl": true
}
]
},
"default": {
"certain-dependency": {
"hashes": [
"md5:8faf2e4ff85c34b5d0c000c017f81f52",
"md5:1508a7f05b17d292f7890b8c58a451cf",
],
"version": "==11.10.20"
}
}
}
Run Code Online (Sandbox Code Playgroud)
尝试清除 Pipenv 缓存:
\n\n\n确保您的依赖项确实得到解决。如果您\xe2\x80\x99确信它们是,则可能需要清除解析器缓存。运行以下命令:
\nRun Code Online (Sandbox Code Playgroud)\npipenv lock --clear\n然后再试一次。
\n如果这不起作用,请尝试手动删除整个缓存目录。它通常是以下位置之一:
\n\n
\n- \n
~/Library/Caches/pipenv(苹果系统)- \n
%LOCALAPPDATA%\\pipenv\\pipenv\\Cache(视窗)- \n
~/.cache/pipenv(其他操作系统)
虽然当前版本的 pipelinev 仅接受 sha256 哈希值,但它会从缓存加载包 URL 并将这些缓存的 URL 哈希值写入Pipfile.lock. 如果这些缓存的哈希值是来自先前安装的软件包的 md5 哈希值,则 pipelinev 会按原样使用这些值,而不验证它们是否为 sha256/ FAVORITE_HASH。
清除缓存并重新锁定将导致 pipelinev 缓存未命中并重新获取以 sha256 哈希值结尾的包 URL,并Pipfile.lock按照您的希望写入它们,并防止您再次遇到问题。