Pipfile 哈希创建

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)

Col*_*len 4

尝试清除 Pipenv 缓存

\n
\n

确保您的依赖项确实得到解决。如果您\xe2\x80\x99确信它们是,则可能需要清除解析器缓存。运行以下命令:

\n
pipenv lock --clear\n
Run Code Online (Sandbox Code Playgroud)\n

然后再试一次。

\n

如果这不起作用,请尝试手动删除整个缓存目录。它通常是以下位置之一:

\n
    \n
  • ~/Library/Caches/pipenv(苹果系统)
  • \n
  • %LOCALAPPDATA%\\pipenv\\pipenv\\Cache(视窗)
  • \n
  • ~/.cache/pipenv(其他操作系统)
  • \n
\n
\n

虽然当前版本的 pipelinev 仅接受 sha256 哈希值,但它会从缓存加载包 URL 并将这些缓存的 URL 哈希值写入Pipfile.lock. 如果这些缓存的哈希值是来自先前安装的软件包的 md5 哈希值,则 pipelinev 会按原样使用这些值,而不验证它们是否为 sha256/ FAVORITE_HASH

\n

清除缓存并重新锁定将导致 pipelinev 缓存未命中并重新获取以 sha256 哈希值结尾的包 URL,并Pipfile.lock按照您的希望写入它们,并防止您再次遇到问题。

\n