强制pip跳过或忽略下载缓存上的错误哈希

时间:2014-08-09 23:34:34

标签: python python-2.7 pip

想知道是否有人知道一种解决方法来强制pip完全跳过哈希检查或从下载缓存安装时忽略坏总和?安装cmd是:

pip.exe install --target=C:\WHERE_I_WANT_INSTALLED --download-cache=C:\MY_DL_CACHE mitmproxy

Mitmproxy需要特定版本的枕头,并且在该特定版本中恰好是定义的C函数,其签名与Mingw x86_64中的包含中的另一个函数发生冲突。我没有更换我的工具链,因为任何在Windows上使用mingw的人都知道,找到并保持稳定版本是一个令人作呕的痛苦过程。

无论如何,我已经将这个问题发布为pips github上的错误报告,但我想我会在这里提出问题。提前谢谢。

1 个答案:

答案 0 :(得分:0)

好吧,我在最后一个地方找到了答案:the documentation

所以基本上你运行一些命令让pip下载你尝试安装的所有东西。在这种情况下,它是mitmproxy。首先,我抓住了mitmproxy的requirements.txt文件,并将其放入dir中。下载包的命令是:

pip install --download C:\MY_SECRET_PATH\mitm\dl-cache six
pip install --download C:\MY_SECRET_PATH\mitm\dl-cache mock
pip install --download C:\MY_SECRET_PATH\mitm\dl-cache itsdangerous
pip install --download C:\MY_SECRET_PATH\mitm\dl-cache cryptography
pip install --download C:\MY_SECRET_PATH\mitm\dl-cache mitmproxy

现在,mitm-proxy所需的一切都存储在提供的路径中。然后,我们为命令提供此路径和其他几个标志,以便安装我们之后的内容,再次使用mitmproxy。为了让事情变得更有趣,我将所有这些东西安装在自定义目录中。所以该命令如下:

pip.exe install mitmproxy --no-index --target=C:\MY_SECRET_PATH\mitm --find-links=C:\MY_SECRET_PATH\mitm

所以我们基本上告诉pip安装所选的包及其所有deps离线,而不是检查pypy,因此跳过哈希检查。您显然可以自由修改您已下载的软件包的来源,就像我一样。