使用pip安装时,Python包哈希不匹配

Mil*_*idy 13 python pip

我正在使用pip来安装我的所有python包但是会收到错误,如下面的跟踪所示.有什么问题,如何解决?

usr@comp:~$ pip install flask
    Collecting flask
      Using cached Flask-0.11.1-py2.py3-none-any.whl
    Collecting itsdangerous>=0.21 (from flask)
      Using cached itsdangerous-0.24.tar.gz
    Collecting click>=2.0 (from flask)
      Using cached click-6.6.tar.gz
    Collecting Werkzeug>=0.7 (from flask)
      Using cached Werkzeug-0.11.11-py2.py3-none-any.whl
    Requirement already satisfied (use --upgrade to upgrade): Jinja2>=2.4 in /usr/lib/python2.7/dist-packages (from flask)
    Requirement already satisfied (use --upgrade to upgrade): MarkupSafe in /usr/lib/python2.7/dist-packages (from Jinja2>=2.4->flask)
    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.
        Werkzeug>=0.7 from https://pypi.python.org/packages/a9/5e/41f791a3f380ec50f2c4c3ef1399d9ffce6b4fe9a7f305222f014cf4fe83/Werkzeug-0.11.11-py2.py3-none-any.whl#md5=c63a21eedce9504d223ed89358c4bdc9 (from flask):
        Expected md5 c63a21eedce9504d223ed89358c4bdc9
             Got        13a168aafcc43354b6c79ef44bb0dc71
Run Code Online (Sandbox Code Playgroud)

小智 40

这里的问题是 Python 包已使用新的哈希值更新,而 pip 尝试使用 pip 缓存目录中缓存的旧哈希值安装 Python 包。在尝试 pip 安装之前需要清除此缓存。所以完整的解决方案是:

python -m pip cache purge
python -m pip install <package>
Run Code Online (Sandbox Code Playgroud)


Mil*_*idy 23

有一个类似的问题(为什么pip会因为包的错误md5哈希而失败?)从2013年开始我尝试的解决方案对我有用了:

sudo pip install --no-cache-dir flask

由attolee给出


Jay*_*Jay 8

貌似是缓存问题,缓存的包和REQUIREMENTS.

可能是上次更新中断造成的。

我这样做解决了我的问题:

rm ~/.cache/pip -rf
Run Code Online (Sandbox Code Playgroud)


Lev*_*von 7

如果您在使用 pipelinev 时遇到此错误,请尝试

$ pipenv --clear
$ pipenv lock
$ pipenv install
Run Code Online (Sandbox Code Playgroud)


小智 5

--no-cache-dir 起初在树莓派4中对我不起作用。

发现问题是由于在pip安装期间发生了意外的网络更改/故障

我不得不.whl手动下载损坏的文件wget

并如下安装: sudo pip install scipy-1.3.0-cp37-cp37m-linux_armv7l.whl

其次是 sudo pip install --no-cache-dir keras

然后它起作用了。


小智 5

您需要将 pip 升级到较新的版本:

使用这个命令:

python -m pip install -upgrade pip
Run Code Online (Sandbox Code Playgroud)

适用于 Mac/Linux 操作系统并使用

python -m pip install --upgrade tensorflow
Run Code Online (Sandbox Code Playgroud)

用于 Windows 更新您的 pip。然后运行你的命令

 pip install flask
Run Code Online (Sandbox Code Playgroud)


小智 5

首先,尝试升级你的 pip 然后安装库:

python -m pip install --upgrade pip
Run Code Online (Sandbox Code Playgroud)

如果不起作用,只需尝试在没有缓存的情况下安装它:

pip install --no-cache-dir the_library_name
Run Code Online (Sandbox Code Playgroud)