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

Rol*_*ndo 69 python

我正在尝试运行安装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
Run Code Online (Sandbox Code Playgroud)

Ben*_*rns 131

看起来get-pip.py已更新为使用环境变量http_proxyhttps_proxy.

视窗:

set http_proxy=http://proxy.myproxy.com
set https_proxy=https://proxy.myproxy.com
python get-pip.py
Run Code Online (Sandbox Code Playgroud)

Linux/OS X:

export http_proxy=http://proxy.myproxy.com
export https_proxy=https://proxy.myproxy.com
sudo -E python get-pip.py
Run Code Online (Sandbox Code Playgroud)

但是,如果这仍然不适合您,您可以通过设置相同的环境变量,使用setuptools ' easy_install通过代理安装pip .

视窗:

set http_proxy=http://proxy.myproxy.com
set https_proxy=https://proxy.myproxy.com
easy_install pip
Run Code Online (Sandbox Code Playgroud)

Linux/OS X:

export http_proxy=http://proxy.myproxy.com
export https_proxy=https://proxy.myproxy.com
sudo -E easy_install pip
Run Code Online (Sandbox Code Playgroud)

然后,一旦安装,使用:

pip install --proxy="user:password@server:port" packagename
Run Code Online (Sandbox Code Playgroud)

点子手册页:

--proxy让
pip使用代理服务器访问站点.这可以使用"user:password@proxy.server:port"表示法指定.如果忘记密码,pip会要求输入密码.


eug*_*evd 9

在我的网络上,设置http_proxy对我来说不起作用.以下几点是相关的.

1执行sudo时,不会保留为用户设置http_proxy - 为了保留它,执行:

sudo -E yourcommand
Run Code Online (Sandbox Code Playgroud)

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

而不是学生编号,您将放置您的域用户名

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

pip install --proxy localhost:3128 pygments
Run Code Online (Sandbox Code Playgroud)


Adr*_*n W 6

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

set http_proxy=http://proxy.myproxy.com
set https_proxy=http://proxy.myproxy.com
easy_install pip
Run Code Online (Sandbox Code Playgroud)

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