让 easy_install 使用代理翻墙安装 Python 模块
赖勇浩(http://laiyonghao.com)
关键字: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 的推荐,感谢所
相关文档:
写了个图片蜘蛛人玩玩,抓了几个网页试试,感觉不不错。核心的代码可能20行也不到,简洁明了,嘻嘻。废话少说,翠花,上代码~~
#coding=utf-8
import os
import sys
import re
import urllib
URL_REG = re.compile(r'(http://[^/\\]+)', re.I)
IMG_REG = re.compile(r'<img[^>]*?src=([ ......
昨天在研究了几天PHP-GTK后,决定转向Python,因为Python具有多线程这个特点,在与系统交互方面也比较有优势,虽然我很喜欢PHP,PHP在网页方面也非常强大,但毕竟我不是搞网站开发的。
想下个Python吧,发现它居然被和谐了,太诡异了
唉,和谐有理,屏蔽无罪! ......
下面是对某文件夹下多个文件下指定文件换名字的实例(为了换名字,因为懒得手动改,折腾了一会搞出来的)
原理很简单,换文件名的话指定path就行 ,具体的自己看吧,仅供参考!
#-*- coding:utf-8 -*-
import os,sys
#=======================================
##对多个文件夹下的文件(夹)进行处理
#============ ......
既然选择了远方,就必须日夜兼程 http://wrsuifeng.javaeye.com
Python代码
# Filename: excel.py
import os,sys,time
import win32com.client
import traceback
excel = win32com.client.Dispatch(" ......
http://www.autohotkey.com/forum/topic53773.html
Q:I am searching for is a way to execute AHK commands from a Python script. Is this possible?
A:Yes. Here is an example.
tested with python2.6, requires AutoHotkey.dll in the working directory or path...
ahkpython.py:
#Persistent
dllc ......