基于安全的因素,很多情况下服务器都没有直接访问互联网的权限。而 python 的 easy_install 不支持 socks proxy,这一点挺悲剧的;不过还好,根据我的试用经验,其基本上可算完美的支持 http/https 代理。考虑到我已经架设了 socks5 proxy,所以找一个同时支持 socks 做上游代理服务器的 http proxy 就显得很有价值了。Polipo 算是这方面的佼佼者

安装 Polipo 服务

#aptitude install polipo

修改配置文件 /etc/polipo/config

proxyAddress = "0.0.0.0"    # IPv4 only # 0.0.0.0 可以替换为提供代理服务器的 ip 地址
allowedClients = 10.10.0.0/16 # 允许访问客户端 ip 地址范围
socksParentProxy = "10.10.10.10:1080" # 上游 sock 代理的地址和端口
socksProxyType = socks5 # 上游 socks 代理的类型 sock4 还是 socks5

Polipo 也可以使用 http proxy 为上游代理;具体的是修改 parentProxy 参数

重启服务器让新配置生效

#/etc/init.d/polipo restart

在客户端命令行使用 http proxy

方法很简单;只需要临时修改一下环境参数即可。在命令行下执行

export HTTP_PROXY="http://10.10.10.10:8123"
export HTTPS_PROXY="http://10.10.10.10:8123" # easy_install 很多时候会悄悄的访问 https 链接,但是如果无 https proxy 又不会有明确的提示,这一点很迷惑人

以 easy_install 为例:只需要如正常情况下一样直接执行如下命令即可

easy_install Django