让 easy_install 使用代理翻墙安装 Python 模块

关键字:python, easy_install, setuptools, myentunnel, 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 的 SSH 翻墙的,在 windows 下常用的一个软件是 myentunnel,它能够提供 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 服务器的端口,我使用的是 myentunel 默认的 1080,然后保存关闭。
现在通过开始菜单运行 polipo,你应该可以看到 Established listening socket on port 8123 字样,表示运行成功了。这时再通过上文的方法把 http://127.0.0.1:8123 设置为 http_proxy 环境变量,你的 easy_install 就可以翻墙了。
其它方案
自由的 linux 下当然有着更丰富的方式,polipo 本身是个跨平台软件,也可以使用 @number5、@kynix 和 @kypudding 推荐的 tscoks 以及 ProxyChains,windows 下也还可以使用 SocksCap。而我采用的 polipo 方案来自 @BOYPT 的推荐,感谢所有人,也感谢国家,给我动力和机会去了解这些工具,我相信以后会在其它地方用得着这些“技术”。
本解决方案得益于 Google 和 Twitter 两个伟大的网站,在此一并感谢。

关键字:python, easy_install, setuptools, myentunnel, 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 的 SSH 翻墙的,在 windows 下常用的一个软件是 myentunnel,它能够提供 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 服务器的端口,我使用的是 myentunel 默认的 1080,然后保存关闭。
现在通过开始菜单运行 polipo,你应该可以看到 Established listening socket on port 8123 字样,表示运行成功了。这时再通过上文的方法把 http://127.0.0.1:8123 设置为 http_proxy 环境变量,你的 easy_install 就可以翻墙了。

其它方案

自由的 linux 下当然有着更丰富的方式,polipo 本身是个跨平台软件,也可以使用 @number5、@kynix 和 @kypudding 推荐的 tscoks 以及 ProxyChains,windows 下也还可以使用 SocksCap。而我采用的 polipo 方案来自 @BOYPT 的推荐,感谢所有人,也感谢国家,给我动力和机会去了解这些工具,我相信以后会在其它地方用得着这些“技术”。

本解决方案得益于 Google 和 Twitter 两个伟大的网站,在此一并感谢。

转自赖总的博客: 今天在推上看到赖总找方案, 没一个小时就把Polipo发出来了,然后很快发到了博客上,赞一下,原文这里找:blog.csdn.net/lanphaday/archive/2010/04/16/5494336.aspx
 

最多留言日志

此条目发表在 未分类 分类目录。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已被标记为 *

*

*


您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>