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


当前回答

这是对我有效的方法:

pip --proxy proxy url:port command package

其他回答

我也不是这方面的专家,但我通过在~/中设置all_proxy变量使其工作。bashrc文件。(打开~/。Bashrc文件和编辑它从终端运行以下命令,

gedit ~/.bashrc &

在文件末尾添加以下内容,

export all_proxy="http://x.y.z.w:port"

然后要么打开一个新终端,要么在同一个终端上运行following,

source ~/.bashrc

仅仅设置http_proxy和https_proxy变量对于简单使用pip install somepackage是不够的。虽然sudo -E pip install somepackage可以工作,但这给我带来了一些问题,以防我在用户文件夹中使用Anaconda的本地安装。

附注:我使用的是Ubuntu 16.04。

在带有身份验证的工作代理后使用pip,请注意,在使用用户和密码指定代理url时,某些操作系统需要引号:

pip install <module> --proxy 'http://<proxy_user>:<proxy_password>@<proxy_ip>:<proxy_port>'

文档:https://pip.pypa.io/en/stable/user_guide/使用代理服务器

例子:

pip3 install -r requirements.txt --proxy 'http://user:password@192.168.0.1:1234'

例子:

pip install flask --proxy 'http://user:password@192.168.0.1:1234'

代理也可以在pip.ini中手动配置。 例子:

[global]
proxy = http://user:password@192.168.0.1:1234 

文档:https://pip.pypa.io/en/stable/user_guide/配置文件

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

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

为了更新,添加-U。

安装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

在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