Pillow安装时识别JPEG编码器,但不使用

1 投票
1 回答
1250 浏览
提问于 2025-04-17 22:19

我正在一个运行Ubuntu 13.04和Python 3.3的虚拟环境中工作。我已经安装了Pillow和libjpeg-dev(按照建议先安装后者),当我安装(或重新安装)Pillow时,看到这个:

--------------------------------------------------------------------
PIL SETUP SUMMARY
--------------------------------------------------------------------
version      Pillow 2.3.0
platform     linux 3.3.1 (default, Sep 25 2013, 19:29:01)
             [GCC 4.7.3]
--------------------------------------------------------------------
*** TKINTER support not available
--- JPEG support available
--- ZLIB (PNG/ZIP) support available

太好了!JPEG编码器被识别了。不过,当我运行Pillow的selftest.py脚本时,它失败了很多测试,开始时是这样的:

--------------------------------------------------------------------
Pillow 2.3.0 TEST SUMMARY 
--------------------------------------------------------------------
Python modules loaded from /usr/local/lib/python3.3/dist-packages/PIL
Binary modules loaded from /usr/local/lib/python3.3/dist-packages/PIL
--------------------------------------------------------------------
--- PIL CORE support ok
*** TKINTER support not installed
*** JPEG support not installed
--- ZLIB (PNG/ZIP) support ok

现在它不识别JPEG解码器了。为了确认这不是selftest.py的问题,我自己做了一些测试,结果发现我可以创建和处理.png文件,但不能处理.jpg文件。我在网上搜索了一下,尝试了一些建议的解决方案,包括创建一个指向jpg库的符号链接,像这样:

sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib

但是没有用。有没有人知道我还可以尝试什么方法来让jpeg解码器工作?完全只用.png文件对我来说真的不太实际。

1 个回答

0

所以,这就是我为什么需要等24小时才能发问的原因。我需要注意Pillow的安装路径。如果我这样创建一个符号链接,它就能正常工作:

sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/local/lib/

/usr/lib并不在Pillow的搜索路径中,但上面的路径是可以的。

撰写回答