崔庆才的书《Python3网络爬虫开发实战》在描述 mac下的 tesserocr安装过程时是这么写的:
在Mac下,我们首先使用 Homebrew安装 ImageMagick和 tesseract库 :
brew install imagemagick
brew install tesseract --all-languages
接下来再安装 tesserocr即可:
pip3 install tesserocr pillow
第1步按照过程等着下载安装,不会出错。但是第2步会报一个错误,之前并没有想着保存报错信息,以为会很容解决的,结果在网上搜了一圈,按照那些方法都没有能够解决,然后就可开始我一天的苦逼尝试之路。复制了以下别人贴上的报错信息,大概就是这样
/usr/local/include/tesseract/host.h:28:10: fatal error: 'cstdint' file not found
#include <cstdint> // int32_t, ...
^~~~~~~~~
error generated.
error: command 'gcc' failed with exit status 1
-------------------------------------------
网上的解决办法主要就下面两个,有的评论说解决了,有的说没解决,反正我试过了是都没有用
因为报错的信息涉及到了gcc,而电脑上的 gcc版本只是4.2.1,我也尝试更新版本来解决,因为不知道怎么更改系统的默认编译环境也没成功。迷茫了很久,突然受到了方法2的启发,因为在用方法2安装的时候报错信息说是通道不提供,然后去Anaconda官网上面看了一下,
- 按路径将 host.h文件中的 include<cstdint>为 include<stdint.h
- 安装了 Anaconda的原因。同时,也找到了解决方法
conda install -c simonflueckiger tesserocr
发现 simonflueckiger tesserocr这个只提供 windows下的安装,最新的2.4.0版本用
conda install -c chilipp tesserocr
安装也会有问题,好像也是通道不提供,安装不了。
最后尝试安装2.3.1版本,在命令行里输入下面的命令,
conda install -c mcs07 tesserocr
按照提示一步一步进行,发现是可以安装的,但是最后在 import的时候,还是会报错,大意就是包的版本不兼容,因为我也不确定该更新什么包,所以直接
conda update --all
要更新的包会比较多,所以会花一些时间,等更新完成之后进行测试
import tesserocr
from PIL import Image
image = Image.open('/Users/apple/Downloads/image.png')
print(tesserocr.image_to_text(image))
输出结果:
Python3WebSpider
折腾了一天终于是搞定了。