我正试图在工作中通过代理使用pip。

这篇文章中的一个答案建议使用CNTLM。我安装和配置它根据这另一个帖子,但运行cntlm.exe -c cntlm.ini -I -M http://google.com给出错误连接到代理失败,退出。

我还尝试了pip install——proxy=user:pass@localhost:3128(默认的CNTLM端口),但会引发无法获取索引基础URL http://pypi.python.org/simple/。很明显代理出问题了。

有人知道如何更明确地检查CNTLM是否设置正确,或者是否有另一种方法完全绕过这个问题吗?我知道你也可以像这里描述的那样设置http_proxy环境变量,但我不确定要放入什么凭证。来自cntlm.ini的那些?


当前回答

这对我来说很有效(在Windows上通过CMD):

pip install --proxy proxyserver:port requests

其他回答

在Windows下不要忘记设置

SET HTTPS_PROXY=<proxyHost>:<proxyPort>

我需要设置什么

pip install pep8

Windows 7系统:

pip install --proxy DOMAIN\user:password@proxyaddress:port package

例如:

pip install --proxy BR\neo:p4ssw0rd@myproxyrocks.com.br:8080 virtualenv

windows 2022年:

我知道有很多答案,几乎所有其他关于pip和代理的问题都指向这个问题:

所以在我看来,一方面是代理的问题,这在下面的问题中得到了回答。

PIP install——proxy=https://<windowsuser>:<pw>@<proxy>:端口包

在此之后,您必须处理SSL证书。您必须添加可信源。通常它们会出现在错误消息中。例如:ERROR: ....下面是我安装Django的解决方案:

pip install Django——proxy http://windowsuser:password@proxy:port——truste- host pypi.python.org——truste- host pypi.org——truste- host files.pythonhosted.org

这对我不起作用。我不得不在工作中使用https:

pip install --proxy=https://user@mydomain:port somepackage

为了更新,添加-U。

根据我们的安全策略,我可能不会在pypi上使用https, SSL-inspection重写证书,它破坏了pip www.python.org的内置安全性。在中间的人是网络管理员。

我需要使用纯http。要做到这一点,我需要覆盖系统代理以及默认的pypi:

bin/pip install --proxy=squidproxy:3128 -i http://www.python.org/pypi --upgrade "SQLAlchemy>=0.7.10"