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

我正在尝试运行一个安装 pip: get-pip.py 的脚本,由于我的网络位于 HTTP 代理之后,我得到了一个连接超时。有没有什么方法可以在我的 Python 2.7安装中配置一个 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
327830 次浏览

看起来 get-pip.py已经更新为使用环境变量 http_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

但是,如果这仍然不适合您,您总是可以通过设置相同的环境变量,使用 Setuptoolseasy_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 会要求的。

在我的网络上,仅仅设置 http _ proxy 对我来说不起作用。

1在执行 sudo 时,为用户设置 http _ xy 不会被保留——要保留它,请执行以下操作:

sudo -E yourcommand

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

而不是学号,你会把你的域名用户名

2要使用 cntlm 本地代理,exec:

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

有关使用 pip 下载其他模块的信息,请参见 @ 本・伯恩的回答

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

来自跳转服务器:

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

在“ python-server”上

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