解决“THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE.”过程

【已解决】Hashes don’t match the requirement.txt 解决过程

我想安装opencv-python,一直报错这个:“ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents carefully; someone may have tampered with them.
opencv-python from https://files.pythonhosted.org/packages/1a/12/a94f6e1aa2d03a483c641da4e8ec20d511a3ece2a087bb3232192e6c6987/opencv_python-4.7.0.72-cp37-abi3-macosx_10_16_x86_64.whl:
Expected sha256 d4f8880440c433a0025d78804dda6901d1e8e541a561dda66892d90290aef881
Got ac4c45c4d4597b78dbd235bb85332fcd181ca90022ba8409d09054b96862215a”

应该是Opencv-python包的版本Hash与pip中的requirement Hash不匹配了。

尝试过但失败的方法:

  1. pip install opencv-python
  2. pip install opencv-python --no-cache-dir
  3. pip install --upgrade opencv-python
  4. pip cache purge
    Failed attempt

最终成功

pip3 install opencv-python --no-cache-dir

Succesfull attempt!

分析,要使用pip3, 且加上–no-cache-dir。当使用docker容器时,我们会加入 --no-cache-dir 去让pip不要把要安装的包下载到本地。
在这里插入图片描述在这里插入图片描述

### 解决Python包安装时哈希不匹配的问题 当遇到`Stanza` Python包安装过程中出现哈希不匹配错误时,这通常意味着下载的文件与其预期的校验和不符。此问题可能由网络不稳定、镜像源不同步或其他因素引起。 对于通过`requirements.txt`文件指定依赖项并尝试安装特定版本及其安全散列的情况,可以采取以下措施来解决问题: #### 验证环境配置 确保使用的pip是最新的稳定版,因为旧版本可能存在已知漏洞或兼容性缺陷。更新命令如下所示: ```bash python -m pip install --upgrade pip ``` #### 清理缓存数据 有时本地存储的轮子(wheel)或tarball可能会损坏,清除这些临时资源有助于排除干扰: ```bash pip cache purge ``` #### 修改需求文档 如果确认官方仓库提供的软件包确实发生了变更,则应当调整`requirements.txt`中的hash值以反映最新情况;反之亦然,在某些特殊场景下也可以考虑移除对应的行内约束以便顺利完成部署工作。 #### 使用替代索引站点 考虑到国内访问PyPI的速度较慢且容易出现问题,不妨切换至其他可信的服务提供商处获取所需库,比如阿里云等提供加速服务的平台: ```bash pip install stanfordnlp -i https://mirrors.aliyun.com/pypi/simple/ ``` #### 手动验证与重试机制 针对个别顽固案例,可先单独下载目标压缩包到本地后再执行离线模式下的指派操作,期间注意对比实际计算所得摘要是否一致。 ```bash wget http://example.com/path/to/package.whl sha256sum package.whl pip install ./package.whl ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值