如何在python环境中安装tesseract,tesserocr?踩坑py3.8.0安装tesserocr失败记录

2,903 阅读3分钟

美好的周一,我尝试用了一整个下午去研究python如何安装tesserocr,此为Python的一款ORC图片识别库,内里其实是对tesseract做的一层Python API封装,简单的来说我们可以通过他们识别图片的内容,最简单地运用于识别登陆验证码,那么首先我们先来安装一下tesseract。

1.下载tesseract安装包

digi.bib.uni-mannheim.de/tesseract/ 中选择下载的版本,其中dev代表测试版本,这里我选择下载了tesseract-ocr-setup-3.05.01.exe。

下载完成之后双击运行,一路next直到如图选择Additional language data(download),他代表的是OCR可以识别多国语言,当然你也可以不选,默认是英语

接下来就是又是一路next,直到成功。接着你需要去系统环境变量中配置tesseract,这样你才可以直接在cmd中访问到

接着我们就可以直接在cmd中输入tesseract -v获取到他的版本号,证明安装成功

到此为止前戏结束,一路下来都是一帆风顺,接下来开始真正的表演。

2.安装tesserocr

安装tesserocr很简单,反手就是一个pip3 install tesserocr,然后得到一大堆报错

根本不知道在说啥呀,直接百度,发现其实pip安装只适用于linux,在window没有办法直接安装tesserocr

ok!问题不大,直接通过下载.wel文件安装,在此之前首先你需要查看下你的python环境适配的wel版本号 win32的同学请看这里

import pip
print(pip.pep425tags.get_supported())

win64的同学请看这里

import pip._internal
print(pip._internal.pep425tags.get_supported())

对了,py3.8.0版本的同学两样都不用看,因为会提示报错的。 然后在 github.com/simonflueck… 中找寻对应的版本下载,还记得我们的tesseract版本是3.5.1吗,他们是一一对应的。

下载之后,就可以通过 pip install tesserocr-2.2.2-cp36-cp36m-win_amd64.whl(具体版本根据个人的py环境),正常来说py3.6或者3.7的同学就可以安装成功了。

不过很可惜,我是python3.8.0,没有这个版本的wel文件,所以到此我都没有搞定3.8的安装。到此为止我查询了很多资料,但是相关的py3.8的文章实在太少了,导致我一度想安装py3.7。

3.python3.8失败之后,安装anaconda秒安装

在查询了很多文章之后,发现掘金有个大佬@jb在一个帖子中说到 conda install -c simonflueckiger tesserocr pillow一句搞定安装,那我前面在干嘛,气啊!立刻下载anaconda。

链接:pan.baidu.com/s/1a-VxwaR5…

这个一路next就可以了,安装完之后一键安装,🐂🍺,顺利完成。之前没用过anaconda的同学还要去配置一下系统环境变量,完成之后就真的告一段落,但是新的坑很快就来了,在python中无法访问到conda中的包,但是在anaconda的目录中却可以访问。

了解之后发现,原来anaconda自动配置了一个python3.6.0的环境,因此可以运行tesserocr,也就是说还是没有解决在3.8的版本无法运行的问题,但是你的电脑已经变相完成了安装。

4.应用

接下来我们就来试一下tesserocr如何应用吧。大家可以自行用window的画图工具做一张自己的姓名条,如:

接下来就这样这样

ps:这里有可能会报错RuntimeError: Failed to init API, possibly an invalid tessdata path:...,大家需要找到安装tesseract-OCR的目录文件夹下,找到名为tessdata的文件夹,将其复制粘贴到python的根目录下,就可以解决了。

然后就可以读出其中的文字啦!打完下班!告辞!