在学习PIL(Python Image Library),由于代码里用到了PIL库处理验证码。
出现可著名的
The _imagingft C module is not installed
原因是因为没有安装对应的图片和处理字体的包
解决办法就是先卸载PIL的包,然后安装需要的库,接着重装PIL
linux下还是比较好解决的
卸载PIL
pip uninstall pil
安装对应的包
sudo apt-get install libjpeg-devel
sudo apt-get install freetype-devel
sudo apt-get install libpng-devel
之后重装PIL即可
pip install pil
但是在window下就没那么好解决了。
这个我只能说呵呵,但是花点时间还是能找到解决办法的
那就是pillow
下面我们就着重讲解一下。
Pillow 是 PIL 的替代版本,PIL 软件包提供了基本的图像处理功能,如:改变图像大小,旋转图像,图像格式转换,色场空间转换,图像增强,直方图处理,插值和滤波等等。
主页 http://pillow.readthedocs.org/en/latest/
Pillow 为了解决 PIL 的两个问题:
1. 不兼容 setuptools
2. 报告的问题太多,而更新太慢
因此我们只需要卸载掉pil而,转战pillow即可
在解决的过程中发现了一个windows下Python库的包镜像站
http://www.lfd.uci.edu/~gohlke/pythonlibs/
这里是一些第三方组织编译的EXE包, 要下载对应PY版本的PIL-pillow, 重新安装, 最好下载Pillow, 它是对PIL的一些BUG修正后的编译版
安装前,可以先 pip uninstall pil
安装Pillow后, 可能还会发生KeyError
的错误, 检查项目源码后发现是 Image 模块的save函数中 , 处理图片文件格式时报的错.
不管是”JPEG”, 还是”GIF”, 都会报错, 解决的办法是:
把项目源码中
import Image
, 替换成from PIL import Image
即可.
按这个原理, 项目中所有用到 Image 模块的地方都应该替换掉.
官网的说法
Use from PIL import Image
instead of import Image
.
另外如果安装出错
ValueError: jpeg is required unless explicitly disabled using --disable-jpeg, aborting
一样原因还是缺少库
参照
Fail during installation of Pillow (Python module) in Linux
Ubuntu 12.04 LTS or Raspian Wheezy 7.0
sudo apt-get install libtiff4-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.5-dev tk8.5-dev python-tk
Ubuntu 14.04
sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk
CentOS/Fedora 20
sudo yum install libtiff-devel libjpeg-devel libzip-devel freetype-devel lcms2-devel libwebp-devel tcl-devel tk-devel