Pillow-PIL的完全Fok替代库--完美解决报错The _imagingft C module is not installed的解决方案

问题


在学习PIL(Python Image Library),由于代码里用到了PIL库处理验证码。
出现可著名的

The _imagingft C module is not installed

原因解析


原因是因为没有安装对应的图片和处理字体的包
解决办法就是先卸载PIL的包,然后安装需要的库,接着重装PIL

linux下的解决办法


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

windows下


但是在window下就没那么好解决了。
这个我只能说呵呵,但是花点时间还是能找到解决办法的
那就是pillow
下面我们就着重讲解一下。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值