如何在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_proxy
和https_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