关键字:python, easy_install, setuptools, Bitvise Tunnelier, polipo, windows, linux, socks5, http, proxy
在这里,我们有些网站无法访问。其中对我影响比较大的一个就是安装某些 Python 模块的时候,easy_install 无法访问到网站。在这里分享让 easy_install 使用代理的方法,如果你拥有 socks5 或 http 代理服务器可用,这个方法能够让 easy_install 完美地跨越长城。http
首先介绍容易实现的 http 方式。得益于 python 模块 urllib 能够透明使用代理,easy_install 使用 http 代理是非常方式的。无论在 windows 还 linux 下,只要设置好 http_proxy 环境变量就可以了。你可以在 windows 命令行执行:
set HTTP_PROXY=http://your.proxy.com:yourPort或在 linux 下执行:
export HTTP_PROXY="http://your.proxy.com:yourPort"然后再执行 easy_install 即可。
socks5
如果你有 VPS,推荐在 windows 下使用 Bitvise Tunnelier,它能够利用你的 VPS 提供 socks5 代理服务。可惜 easy_install 没有办法直接使用 socks5 代理,所以需要一个软件来把 socks5 代理转换为 http 代理。通过 twitter 上许多友好人士的提点,我选择了 polipo 这个软件来打造 http 代理。polipo 使用非常简单,在这里(http://interloper.org/tmp/polipo/polipo-1.0.4.1-forbidden-1-win32.exe)下载到一个 windows 下的安装文件,一路 next 安装即可,安装后进入 polipo.exe 所在的安装目录,用记事本或其它编辑器(我使用 gvim)打开 config 文件,找到下面两行:
# socksParentProxy = "localhost:9050" # socksProxyType = socks5然后把前面的 # 去掉,把 9050 改成你的 socks5 服务器的端口,我使用的是 Bitvise Tunnelier 默认的 1080,然后保存关闭。
现在通过开始菜单运行 polipo,你应该可以看到 Established listening socket on port 8123 字样,表示运行成功了。这时再通过上文的方法把 http://127.0.0.1:8123 设置为 http_proxy 环境变量,你的 easy_install 就可以使用代理了。