为CentOS上PIL库支持webp格式

用pip安装PIL(pillow)的时候会看到检测结果,例如

-------------------------------------------------------------------- *** TKINTER support not available --- JPEG support available *** OPENJPEG (JPEG2000) support not available --- ZLIB (PNG/ZIP) support available --- LIBTIFF support available --- FREETYPE2 support available *** LITTLECMS2 support not available --- WEBP support available --- WEBPMUX support available --------------------------------------------------------------------

而默认都有带星星的,就是不支持的意思,然后,总会有地方告诉你怎么样他们全支持,例如官方的说法http://pillow.readthedocs.org/installation.html#linux-installation ,然后非常可惜,centos上没有找到webp的源,只能去google上下载了https://code.google.com/p/webp/downloads/detail?name=libwebp-0.4.0.tar.gz&

下载完安装,其中configure的时候需要添加支持./configure --prefix="/usr/" --enable-libwebpdecoder --enable-libwebpdemux --enable-libwebpmux

最后要做个链接,ln -s /usr/local/libwebp* /usr/lib64/

之后自己检测看能不能处理webp的文件吧。

--------------------------------------吐槽分割线-------------------------------------------

期间发现很奇葩的时候,我用ubuntu开发,直接就支持了,不用折腾。但服务器上装了库也不支持。

报的错误一开始是说不识别WEBP格式,我去,PIL里面都有WebPImagePlugin了,怎么会不支持呢?

于是查代码的时候发现没地方import WebPImagePlugin,那肯定不支持这格式啊,于是手动import一下。

然后继续报错,不支持WEBP格式。这就奇怪了,输出import的错误,原来是找不到libwebp库,于是做了链接,能跑了。

经验分享 程序员 微信小程序 职场和发展