经常在使用Python的时候需要安装各种模块,而pip是很强大的模块安装工具,但是由于国外官方pypi经常被墙,导致不可用,所以我们最好是将自己使用的pip源更换一下,这样就能解决被墙导致的装不上库的烦恼。
网上有很多可用的源,例如豆瓣:http://pypi.douban.com/simple/
清华:https://pypi.tuna.tsinghua.edu.cn/simple
最近使用得比较多并且比较顺手的是清华大学的pip源,它是官网pypi的镜像,每隔5分钟同步一次,地址为 https://pypi.tuna.tsinghua.edu.cn/simple
临时使用:
可以在使用pip的时候加参数-i https://pypi.tuna.tsinghua.edu.cn/simple
例如:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple gevent,这样就会从清华这边的镜像去安装gevent库。
永久修改,一劳永逸:
Linux下,修改 ~/.pip/pip.conf (没有就创建一个), 修改 index-url至tuna,内容如下:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
windows下,直接在user目录中创建一个pip目录,如:C:Usersxxpip,新建文件pip.ini,内容如下
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
# 验证码识别,此程序只能识别数据验证码
import Image
import serial
import ImageEnhance
import ImageFilter
import sys
from pytesser import *
# 二值化
threshold = 140
table = []
for i in range(256):
if i < threshold:
table.append(0)
else:
table.append(1)
#由于都是数字
#对于识别成字母的 采用该表进行修正
rep={'O':'0',
'I':'1','L':'1',
'Z':'2',
'S':'8'
};
def getverify1(name):
#打开图片
im = Image.open(name)
#转化到灰度图
imgry = im.convert('L')
#保存图像
imgry.save('g'+name)
#二值化,采用阈值分割法,threshold为分割点
out = imgry.point(table,'1')
out.save('b'+name)
#识别
text = image_to_string(out)
#识别对吗
text = text.strip()
text = text.upper();
for r in rep:
text = text.replace(r,rep[r])
#out.save(text+'.jpg')
print text
return text
ser = serial.Serial("com3","9600")
text = getverify1('1.jpg') #注意这里的图片要和此文件在同一个目录,要不就传绝对路径也行
ser.write("text")
ser.close()