如何在Python 2.7中设置HTTP代理?

我试图运行一个安装pip的脚本:get-pip.py,并且由于我的networking在HTTP代理后面而正在获取连接超时。 有没有什么办法可以在我的Python 2.7安装中configuration一个HTTP代理,以便能够安装我想要安装的东西?

注意:我正在使用Windows。 下面是我得到的错误:

C:\SetupFiles>python get-pip.py Downloading/unpacking pip Cannot fetch index base URL http://pypi.python.org/simple/ Could not find any downloads that satisfy the requirement pip No distributions at all found for pip 

它看起来像get-pip.py已被更新为使用环境variableshttp_proxyhttps_proxy

视窗:

 set http_proxy=http://proxy.myproxy.com set https_proxy=https://proxy.myproxy.com python get-pip.py 

Linux / OS X:

 export http_proxy=http://proxy.myproxy.com export https_proxy=https://proxy.myproxy.com sudo -E python get-pip.py 

但是,如果这仍然不适合你,你可以通过设置相同的环境variables使用setuptools的easy_install通过代理来安装pip。

视窗:

 set http_proxy=http://proxy.myproxy.com set https_proxy=https://proxy.myproxy.com easy_install pip 

Linux / OS X:

 export http_proxy=http://proxy.myproxy.com export https_proxy=https://proxy.myproxy.com sudo -E easy_install pip 

然后一旦安装,使用:

 pip install --proxy="user:password@server:port" packagename 

从pip手册页 :

– 代理
有点使用代理服务器访问网站。 这可以使用“user:password@proxy.server:port”表示法来指定。 如果密码不存在,pip将要求它。

在我的networking上,只是设置http_proxy不适合我。 以下几点是相关的。

1当你执行sudo时,为你的用户设置http_proxy不会被保留 – 为了保留它,做:

 sudo -E yourcommand 

我通过首先安装cntlm本地代理来安装我的工作。 这里的说明是简洁的: http : //www.leg.uct.ac.za/howtos/use-isa-proxies

学生号码,而不是你的域名用户名

2要使用cntlm本地代理,请执行以下命令:

 pip install --proxy localhost:3128 pygments 

几乎如第一个答案中所述,您可以使用easy_install来安装pip (或任何其他包)。 但是,您也需要一个HTTPS代理。 完整的命令序列是:

 set http_proxy=http://proxy.myproxy.com set https_proxy=http://proxy.myproxy.com easy_install pip 

您可能还想要将端口添加到代理,如http{s}_proxy=http://proxy.myproxy.com:8080

你可以尝试从这里下载pip的Windows二进制文件: http : //www.lfd.uci.edu/~gohlke/pythonlibs/#pip 。

要使用点子下载其他模块,请参阅@Ben Burn的答案 。

为了在代理之后安装带有get-pip.py的pip,我使用下面的步骤。 我的服务器甚至在跳转服务器后面。

从跳转服务器:

 ssh -R 18080:proxy-server:8080 my-python-server 

在“python服务器”

 export https_proxy=https://localhost:18080 ; export http_proxy=http://localhost:18080 ; export ftp_proxy=$http_proxy python get-pip.py 

成功。

 cd C:\Python34\Scripts set HTTP_PROXY= DOMAIN\User_Name:Passw0rd123@PROXY_SERVER_NAME_OR_IP:PORT# set HTTP_PROXY= DOMAIN\User_Name:Passw0rd123@PROXY_SERVER_NAME_OR_IP:PORT# pip.exe install PackageName