python - pip 出现“包不匹配哈希”错误
问题描述
我正在尝试使用 pip 安装软件包。在这种情况下,对于 OpenCV。但是,我无法安装任何东西。我正在使用 python 3.5.3 en pip 18.0(使用 get-pip.py 安装)。
无论我尝试什么,命令“pip install package-name”都会生成以下错误:
这些包与需求文件中的哈希不匹配。如果您已更新软件包版本,请更新哈希值。否则,请仔细检查包装内容;可能有人篡改了它们。opencv-contrib-python-headless from https://www.piwheels.org/simple/opencv-contrib-python-headless/opencv_contrib_python_headless-3.4.3.18-cp35-cp35m-linux_armv6l.whl#sha256=ff894c0cc7c98b05b7b260a1dc462e7ad0a4220b042072fc0134a2b7a92bc4a5 : Expected sha256 ff894c0cc7c98b05b7b260a1dc462e7ad0a4220b042072fc0134a2b7a92bc4a5 Got 4119d8c56d19ef044c1faca317dd10f2bb3b50cbee77426a22feca9b641c5637
我尝试过的事情:
- 按照另一个使用相同问题的建议使用“--no-cache-dir”。
- 重新安装 python/pip 或尝试其他版本的 python。
解决方案
这是https://pywheels.org/维护者需要解决的问题。
https://www.piwheels.org/simple/opencv-contrib-python-headless/
包含指向URL 中嵌入opencv_contrib_python_headless-3.4.3.18-cp35-cp35m-linux_armv6l.whl
的 SHA256 的链接。ff894c0cc7c98b05b7b260a1dc462e7ad0a4220b042072fc0134a2b7a92bc4a5
但是,下载文件时,它的实际SHA256 是4119d8c56d19ef044c1faca317dd10f2bb3b50cbee77426a22feca9b641c5637
(我自己得到了这个,所以它不是攻击者在您的网络连接中间胡闹,只是为了替换恶意包)。
如果攻击者将恶意软件注入软件包但未更新校验和,这可能意味着恶意篡改已经发生(可能是直接破坏了 PyWheels 基础设施的人)。安全的做法是联系网站所有者并要求他们调查问题。
推荐阅读
- variables - Ansible:在另一个变量声明中使用一个变量
- html - Css 首字母解决方法
- javascript - 扩展反应组件和附加类
- php - Goole App Engine - 部署的 PHP 应用程序无法识别 php 文件
- python - Python 导入和包:__init__.py 文件未修复 ModuleNotFoundError?
- javascript - 为什么 angular cli --outputHashing=all 不处理 svg 图像?
- java - 如何在 org.slf4j 中为版本启用日志记录:Spring boot 中的“2.0.0-alpha1”
- python - 从 JSON 输出中选择数据以在 Python 中插入语句
- android - base.apk 中的奇怪崩溃(偏移量 0xc07000)Android
- .net - 在 MESSAGEBOX 中的 HELP 上调用浏览器页面