树莓派安装tensorflow 错误解决THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE.

今天在Raspberry上安装Tensorflow遇到以下错误,这里记录一下:

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.
    numpy>=1.13.3 from https://www.piwheels.org/simple/numpy/numpy-1.16.4-cp35-cp35m-linux_armv7l.whl#sha256=344fdac1c88bfcec4addbb1bc2f7ac3f2a4e434933459778298919c3abded7a2 (from tensorflow==1.13.1):
        Expected sha256 344fdac1c88bfcec4addbb1bc2f7ac3f2a4e434933459778298919c3abded7a2
             Got        4e811b91d4629c06b325ebc471e8b4e93c9c633a6614309130000b243a5bd206

    h5py from https://www.piwheels.org/simple/h5py/h5py-2.9.0-cp35-cp35m-linux_armv7l.whl#sha256=c0a3267b06304595de1aa2fffd0a735e431b81019e73da3509d8084db68103dc (from keras-applications>=1.0.6->tensorflow==1.13.1):
&nb

<think>好的,我现在需要帮用户解决pip安装时出现的哈希值不匹配的错误。首先,我得回忆一下这个错误通常是什么原因引起的。根据之前看到的引用内容,这个错误通常是因为requirements文件中的哈希值和实际下载的包不匹配。可能的原因包括包被更新了,或者镜像源缓存了旧版本,或者是网络问题导致下载损坏。 用户的需求是找到解决方法,所以我要一步步给出可行的解决方案。首先,可能需要更新requirements文件中的哈希值,这可以通过使用pip生成新的哈希值来实现。比如使用--generate-hashes选项,然后重新冻结requirements文件。不过用户可能不熟悉这些命令,需要详细说明步骤。 另一个常见的情况是用户可能使用的镜像源没有及时同步最新的包版本,导致下载的包和官方源的哈希值不一致。这时候可以建议用户切换回官方源,或者使用--no-cache-dir选项来避免使用缓存,强制重新下载。 还有可能是用户手动修改了requirements文件中的版本号,但未更新哈希值。这时候需要提醒用户如果手动改版本,必须同时更新哈希值,或者暂时禁用哈希检查,但需要警告这样做可能有安全风险。 接下来,我需要将这些思路整理成清晰的步骤,用中文简洁地表达出来。同时,确保按照用户的要求,行内公式用$...$,独立公式用$$...$$,不过在这个问题中可能数学公式不多,但如果有的话要注意格式。例如,如果有涉及到版本号的比较,可能需要用变量表示,但这里可能不需要。 最后,生成相关问题的时候,要考虑用户可能进一步的问题,比如如何生成哈希值,如何安全地忽略检查,或者如何避免此类问题再次发生。这样用户可以有更全面的了解。 现在检查是否有遗漏的步骤,比如清除pip缓存也是一个可能的解决方法,需要包含进去。此外,确保引用标记正确添加到对应的解决方法后面,如引用[^1]、[^2]、[^3]的来源。 总结步骤应该是: 1. 更新requirements文件的哈希值 2. 使用官方源并禁用缓存 3. 检查包版本一致性 4. 临时禁用哈希验证(不推荐) 5. 清除pip缓存 每个步骤需要详细说明命令和注意事项,特别是安全方面的提示。同时,相关问题要围绕这些解决方法展开,帮助用户深入理解。</think>### 分步解答 当使用 `pip install` 时出现 `THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE` 错误,通常是因为安装包的哈希值与 `requirements.txt` 文件中记录的哈希值不匹配。以下是逐步解决方法: --- #### **1. 更新哈希值** **原因**:包可能已被官方更新,导致原哈希值失效。 **操作**: - 重新生成 `requirements.txt` 文件的哈希值: ```bash pip freeze --generate-hashes > requirements.txt ``` 此命令会重新生成所有依赖包的哈希值并覆盖原文件。 --- #### **2. 使用官方源并禁用缓存** **原因**:镜像源可能未及时同步最新包版本,导致下载的包哈希值不匹配。 **操作**: - 强制使用官方源并忽略本地缓存: ```bash pip install -r requirements.txt --no-cache-dir -i https://pypi.org/simple ``` 这会绕过镜像源和本地缓存,直接从官方源下载最新包。 --- #### **3. 检查包版本一致性** **原因**:手动修改 `requirements.txt` 中的版本号可能导致哈希值不匹配。 **操作**: - 确保文件中版本号与哈希值对应。例如: ```text package==1.0.0 --hash=sha256:abcd... ``` 若手动调整版本号,需重新生成哈希值或删除哈希信息。 --- #### **4. 临时禁用哈希验证(不推荐)** **原因**:仅用于临时测试,存在安全风险。 **操作**: - 在安装命令中添加 `--require-hashes=false`: ```bash pip install -r requirements.txt --require-hashes=false ``` **注意**:此操作会跳过哈希检查,可能安装被篡改的包。 --- #### **5. 清除pip缓存** **原因**:缓存中可能残留旧版本包数据。 **操作**: - 清理缓存后重新安装: ```bash pip cache purge pip install -r requirements.txt ``` --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值