我正试图在工作中通过代理使用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的那些?


当前回答

如果你使用的是Linux系统,以root用户:

env https_proxy=http://$web_proxy_ip:$web_proxy_port pip install something

当你使用env时,它会为pip install命令的当前执行导出变量https_proxy。

$web_proxy_ip是代理的主机名或IP $web_proxy_port是端口

其他回答

我也遇到了同样的问题:在一个带有认证的公司代理的背后,我无法进行pip工作,以及Sublime Text 2(好吧,它可以自定义设置我的代理设置)。 对于pip(我将在git上尝试),我解决了安装cntlm代理。 配置起来非常简单:

编辑cntlm.ini 编辑“用户名”、“域”、“密码”字段 添加一个“代理”行,使用您的代理设置:服务器:端口 确保行“NoProxy”集成了“localhost”(默认情况下就像这样) 注意默认端口:3128 保存,就是这样。

为了测试它的工作,只需启动一个新的命令行工具,并尝试:

pip install django --proxy=localhost:3128

这对我很管用。 希望这对你有所帮助。

如果你使用的是Linux系统,以root用户:

env https_proxy=http://$web_proxy_ip:$web_proxy_port pip install something

当你使用env时,它会为pip install命令的当前执行导出变量https_proxy。

$web_proxy_ip是代理的主机名或IP $web_proxy_port是端口

在Ubuntu中,我不能让代理选项像宣传的那样工作-所以下面的命令不起作用:

sudo pip --proxy http://web-proxy.mydomain.com install somepackage

但是导出https_proxy环境变量(注意它是https_proxy而不是http_proxy)做到了这一点:

export https_proxy=http://web-proxy.mydomain.com

然后:

sudo -E pip install somepackage

在Windows下不要忘记设置

SET HTTPS_PROXY=<proxyHost>:<proxyPort>

我需要设置什么

pip install pep8

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