【问题标题】:Why does pip fail with bad md5 hash for package?为什么 pip 因包的 md5 哈希错误而失败?
【发布时间】:2013-04-08 04:38:47
【问题描述】:

我正在尝试在 virtualenv 中安装 Django 包。我在一台新电脑上(OSX 10.8.2)。我通过easy_install安装了virtualenv。激活 virtualenv 后,我运行:

(pyenv)$ pip install Django
Downloading/unpacking Django
  Downloading Django-1.5.1.tar.gz (8.0MB): 2.0MB downloaded
  Hash of the package https://pypi.python.org/packages/source/D/Django/Django-1.5.1.tar.gz#md5=7465f6383264ba167a9a031d6b058bff (from https://pypi.python.org/simple/Django/) (<md5 HASH object @ 0x108453df0>) doesn't match the expected hash 7465f6383264ba167a9a031d6b058bff!
Bad md5 hash for package https://pypi.python.org/packages/source/D/Django/Django-1.5.1.tar.gz#md5=7465f6383264ba167a9a031d6b058bff (from https://pypi.python.org/simple/Django/)

即使我删除 virtualenv 并重新开始,也会发生这种情况。在过去的几个小时里,我反复尝试过,它总是会发生。有什么建议吗?

【问题讨论】:

  • Pip 似乎下载了一个损坏的包。在/tmp&lt;current folder&gt;/build~/.pip/cache/ 中应该有一个 pip temp 文件夹。您已删除损坏的包。

标签: python django hash virtualenv pypi


【解决方案1】:

如果只是这个包你无法安装,你可以手动下载 tarball,然后使用 pip 从那个文件安装它。 Django download site 具有校验和,您也可以手动验证。我不使用 osx,但可能这样的东西会有所帮助:

cd /tmp
wget https://pypi.python.org/packages/source/D/Django/Django-1.5.1.tar.gz
md5sum Django-1.5.1.tar.gz
pip install Django-1.5.1.tar.gz

【讨论】:

  • wgetmd5sum 均未随 OS X 提供。curlmd5 均可用。
  • 这非常有效。我使用 curl -O 并跳过了验证。
【解决方案2】:

当我尝试sudo pip install Pillow 时遇到同样的问题,我尝试sudo pip install --no-cache-dir Pillow,它对我有用。

【讨论】:

【解决方案3】:

对我来说,下面的命令有效

pip install django --no-cache-dir

【讨论】:

    【解决方案4】:

    我现在多次遇到这个问题。

    就像我之前提到的其他人一样,pip install [module] --no-cache-dir 大部分时间都有帮助。

    但有时,您需要先安装一些依赖项,但安装其中之一失败(md5 验证失败)。

    我自己也遇到了这个问题。在这种情况下,安装这个依赖项就像pip install dependency 工作,之后我就可以安装第一个模块了。

    另外pip install -vvv 非常适合收集有关一般问题解决的更多信息

    【讨论】:

      猜你喜欢
      • 2019-03-31
      • 1970-01-01
      • 2016-06-25
      • 1970-01-01
      • 1970-01-01
      • 2012-07-22
      • 2015-07-02
      • 1970-01-01
      • 2012-04-06
      相关资源
      最近更新 更多