执行poetry install报错:指定包whl文件哈希不在已知哈希中
解决Poetry 1.3版本
poetry install哈希不匹配错误 当执行poetry install出现Hash for some-package (a.b.c) from archive some-package-a.b.c....whl not found in known hashes错误时,可尝试以下方案:
清除Poetry缓存
执行命令poetry cache clear --all pypi,清空PyPI源的所有缓存,避免缓存的旧包文件与当前下载包的哈希值冲突。更新锁文件
- 删除项目根目录下的
poetry.lock文件,重新执行poetry install生成全新的锁文件,确保锁文件中记录的哈希与当前下载的包一致。 - 若需保留其他依赖版本,可执行
poetry update some-package单独更新出问题的包,同步更新锁文件中该包的哈希记录。
- 删除项目根目录下的
检查包源配置
确认pyproject.toml中的仓库配置是否正确,避免从非官方源下载导致哈希不匹配。示例正确的PyPI源配置:[[tool.poetry.source]] name = "pypi" url = "https://pypi.org/simple/" priority = "primary"手动指定包哈希(临时应急)
若确认包来源安全,可在pyproject.toml中手动添加该包的哈希值,格式如下:[tool.poetry.dependencies] some-package = { version = "a.b.c", files = [ { url = "https://files.pythonhosted.org/packages/.../some-package-a.b.c....whl", hash = "sha256:..." } ] }哈希值可从PyPI官网对应包的详情页获取。
内容的提问来源于stack exchange,提问作者Joshua Patterson
相关产品推荐
相关产品推荐

