Pipfile 哈希创建
Pipfile Hash Creation
我在使用 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"
}
}
}
我 运行 在最近的 pipenv 版本(2020.11.4)中遇到了同样的错误,似乎已经为下一个版本设置了修复(参见 https://github.com/pypa/pipenv/pull/4519)。但与此同时,对我有用的只是回滚到旧版本的 pipenv (2020.8.13)。
尝试 clearing your pipenv cache:
Make sure your dependencies actually do resolve. If you’re confident they are, you may need to clear your resolver cache. Run the following command:
pipenv lock --clear
and try again.
If this does not work, try manually deleting the whole cache directory. It is usually one of the following locations:
~/Library/Caches/pipenv
(macOS)
%LOCALAPPDATA%\pipenv\pipenv\Cache
(Windows)
~/.cache/pipenv
(other operating systems)
虽然当前版本的 pipenv 只接受 sha256 哈希值,但它会从缓存中加载包 URL,并将这些缓存的 URL 哈希值写入 Pipfile.lock
。如果这些缓存的哈希值是来自先前安装的包的 md5 哈希值,pipenv 将按原样使用这些值 without verifying,它们是 sha256/FAVORITE_HASH
.
清除缓存并重新锁定将导致 pipenv 缓存未命中并重新获取以 sha256 哈希结尾的包 URL,并将它们写入 Pipfile.lock
,如您所愿,并防止您 运行 又进入issue.
我在使用 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"
}
}
}
我 运行 在最近的 pipenv 版本(2020.11.4)中遇到了同样的错误,似乎已经为下一个版本设置了修复(参见 https://github.com/pypa/pipenv/pull/4519)。但与此同时,对我有用的只是回滚到旧版本的 pipenv (2020.8.13)。
尝试 clearing your pipenv cache:
Make sure your dependencies actually do resolve. If you’re confident they are, you may need to clear your resolver cache. Run the following command:
pipenv lock --clear
and try again.
If this does not work, try manually deleting the whole cache directory. It is usually one of the following locations:
~/Library/Caches/pipenv
(macOS)%LOCALAPPDATA%\pipenv\pipenv\Cache
(Windows)~/.cache/pipenv
(other operating systems)
虽然当前版本的 pipenv 只接受 sha256 哈希值,但它会从缓存中加载包 URL,并将这些缓存的 URL 哈希值写入 Pipfile.lock
。如果这些缓存的哈希值是来自先前安装的包的 md5 哈希值,pipenv 将按原样使用这些值 without verifying,它们是 sha256/FAVORITE_HASH
.
清除缓存并重新锁定将导致 pipenv 缓存未命中并重新获取以 sha256 哈希结尾的包 URL,并将它们写入 Pipfile.lock
,如您所愿,并防止您 运行 又进入issue.