为CentOS上PIL库支持webp格式

本文详细介绍了如何解决使用pip安装Pillow(原PIL)时遇到的WebP支持问题,包括下载、配置和安装libwebp库,并最终通过链接操作确保能够处理WebP文件。同时,解释了Ubuntu环境下为何该问题得以自动解决,以及在CentOS等系统中手动解决此问题的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用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库,于是做了链接,能跑了。

最后还是觉得不对,作者不会忘记import的吧,而且ubuntu上的都能识别,于是去掉手动import,在WebPImagePlugin文件头增加两行 import traceback traceback.print_stack() 发现有自动import,原来一直以来只是libwebp的位置不对而已。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值