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


当前回答

通过将公司的根证书添加到cacert,您可以继续通过HTTPS使用pip。“site-packages/pip”文件夹中的“Pem”文件。然后通过在~/pip/pip.conf(或者如果你在Windows上的话~\pip\pip.ini)中添加以下行来配置pip使用你的代理:

[global]
proxy = [user:passwd@]proxy.server:port

就是这样。不需要使用第三方包或放弃HTTPS(当然,你的网络管理员仍然可以看到你在做什么)。

其他回答

通过将公司的根证书添加到cacert,您可以继续通过HTTPS使用pip。“site-packages/pip”文件夹中的“Pem”文件。然后通过在~/pip/pip.conf(或者如果你在Windows上的话~\pip\pip.ini)中添加以下行来配置pip使用你的代理:

[global]
proxy = [user:passwd@]proxy.server:port

就是这样。不需要使用第三方包或放弃HTTPS(当然,你的网络管理员仍然可以看到你在做什么)。

我可以通过运行:

pip install --proxy=http://user:pass@your.proxy.com:3128 package==version

我在公司代理中使用Python 3.7.3。

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

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

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

pip install django --proxy=localhost:3128

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

我用“Fiddler”(https://www.telerik.com/download/fiddler)解决了Windows中的PIP问题。下载安装完成后,请执行以下操作:

“规则”=>点击“自动认证”

例如:pip install virtualenv -proxy 127.0.0.1:8888

只需打开提示符并使用即可。

https://github.com/pypa/pip/issues/1182搜索“voltagex”(2015年5月22日评论)

手机作为移动热点/USB绑定

如果我很难通过公司代理找到方法,我会通过手机连接到网络(如果我有wifi,就用无线热点,如果没有USB),然后快速安装pip。

可能并不适用于所有的设置,但应该能让大多数人在紧要关头渡过难关。