为啥 pip 因包的 md5 哈希错误而失败?
Posted
技术标签:
【中文标题】为啥 pip 因包的 md5 哈希错误而失败?【英文标题】: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
、<current folder>/build
或~/.pip/cache/
中应该有一个 pip temp 文件夹。您已删除损坏的包。
【参考方案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
【讨论】:
wget
和 md5sum
均未随 OS X 提供。curl
和 md5
均可用。
这非常有效。我使用 curl -O 并跳过了验证。【参考方案2】:
当我尝试sudo pip install Pillow
时遇到同样的问题,我尝试sudo pip install --no-cache-dir Pillow
,它对我有用。
【讨论】:
no-chance dir是什么意思 @ArpitSisodia ***.com/questions/45594707/…【参考方案3】:对我来说,下面的命令有效
pip install django --no-cache-dir
【讨论】:
【参考方案4】:我现在多次遇到这个问题。
就像我之前提到的其他人一样,pip install [module] --no-cache-dir
大部分时间都有帮助。
但有时,您需要先安装一些依赖项,但安装其中之一失败(md5 验证失败)。
我自己也遇到了这个问题。在这种情况下,安装这个依赖项就像pip install dependency
工作,之后我就可以安装第一个模块了。
另外pip install -vvv
非常适合收集有关一般问题解决的更多信息
【讨论】:
以上是关于为啥 pip 因包的 md5 哈希错误而失败?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我会因为 jQuery 而出现“启动应用程序失败”错误?
为啥我的 WorkItem 由于未处理的访问冲突错误而失败?