我正试图在工作中通过代理使用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,请到C:/ProgramData/pip/pip.ini,然后设置

(全球)

proxy = http://YouKnowTheRest

与您的代理详细信息。这将永久地为pip配置代理。

其他回答

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

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

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

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

pip install --proxy proxyserver:port requests
$ pip --proxy http://proxy-host:proxy-port install packagename

这对我来说很管用

安装PIP:

ex:PORT = 9090
ex:PROXY_SERVER = stackoverflow
USERNAME:your user id
PASSWORD: your password

sudo pip2 install PACKAGENAME——proxy https://USERNAME:PASSWORD@PROXY_SERVER:PORT/ for Python2.7

sudo pip3 install PACKAGENAME——proxy https://USERNAME:PASSWORD@PROXY_SERVER:PORT/ for Python3.5

例子:

sudo pip2 install pandas --proxy https://USERNAME:PASSWORD@PROXY_SERVER:PORT/

对于apt-get安装

sudo http_proxy=http://USERNAME:PASSWORD@PROXY_SERVER:PORT/ apt-get install PACKAGENAME

例子:

sudo http_proxy=http://USERNAME:YOURPASSWORD@PROXY_SERVER:PORT/ apt-get install tensorrt

sudo http_proxy=http://USERNAME:YOURPASSWORD@PROXY_SERVER:PORT/ apt-get update

我可以通过运行:

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

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