学习爬虫的时候需要安装tesserocr来进行图片的识别,在安装过程中有几个坑,一个接着一个,小问题浪费很多时间。跟着这个流程走保证分分钟搞定。
根据教程先行下载和安装tesseract,安装过程中记得勾选Additional language data。这是为了识别多语言用的。一路next即可。千万不要以为安装完了就万事大吉了,这里需要更新一下windows的环境变量。不然在python中安装和调用tesserocr的时候会报错的。
1. 更新windows的PATH环境变量,将tesseract安装目录加进去,例如“C:\Tesseract-OCR”
2. 创建一个新的环境变量TESSDATA_PREFIX,将tessdata路径加进去,例如“C:\Tesseract-OCR\tessdata”
这样tesseract的安装配置就完成了,接下来去python安装tesserocr。一般的流程是直接运行pip来安装tesserocr和pillow
pip3 install tesserocr pillow
不出意外你会遇到这个错误error: Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools”: http://landinghub.visualstudio.com/visual-cpp-build-tools。这个错误是在安装tesserocr的时候抛出的,pillow已经安装完成了。
当然按着我们就去安装VS C++ build tools呗。安装完用pip再次安装tesserocr,这个时候你会遇到这个错Cannot open include file: 'leptoncia/allheaders.h': No such file or directory. 简直抓狂有没有。
重点来了,为了避免以上pip安装的错误,请直接下载whl文件进行安装https://github.com/simonflueckiger/tesserocr-windows_build/releases。 请根据你的python版本下载对应的whl文件。 接着使用pip直接安装下载下来的whl文件即可,跟所有错误说拜拜吧。
pip3 install tesserocr-2.4.0-cp37-cp37m-win_amd64.whl
使用pip3 freeze可以看到tesserocr 和 pillow已经安装好了
最后打开python的IDE,调用tesserocr来验证是否能成功
import tesserocr
from PIL import Image
image = Image.open('image.png')
print(tesserocr.image_to_text(image))
tesserocr dll load failed 的解决方法
有的人在安装完tesserocr后,import时会遇到这个import error。 遇到这个错误请安装Visual C++ Redistributable for Visual Studio 2015 https://www.microsoft.com/zh-cn/download/details.aspx?id=48145&751be11f-ede8-5a0c-058c-2ee190a24fa6=True,完成后错误就会消失