我在互联网上看到这个问题,我已经尝试遵循所有这些问题,但我仍然无法让 PIL 工作。
我尝试通过以下方式符号链接 zlib、jpeg 等库:
sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib/
sudo ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/
我尝试编辑setup.py
文件,添加这一行:
add_directory(library_dirs, "/usr/lib/x86_64-linux-gnu")
事实上,跑步$ sudo python setup.py install
显示 JPEG、ZLIB/PNG 等支持可用。 (我正在为 2.5 和 2.7 安装它,两者都不起作用)
sudo python2.5 setup.py install
running install
running build
running build_py
running build_ext
--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version 1.1.7
platform linux2 2.5.6 (r256:88840, Feb 1 2012, 15:55:08)
[GCC 4.5.2]
--------------------------------------------------------------------
*** TKINTER support not available
--- JPEG support available
--- ZLIB (PNG/ZIP) support available
--- FREETYPE2 support available
--- LITTLECMS support available
但毕竟,我still get a decoder %s not available
error.
我已经无计可施了。还有什么我可能错过的吗?
我的环境:64位Ubuntu 11.04在 VirtualBox 虚拟机中运行。
这是我测试 PIL 是否有效的方法
$ python
>>> from PIL import Image
>>> im = Image.open("photo.jpg")
>>> im.rotate(45)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/PIL/Image.py", line 1359, in rotate
self.load()
File "/usr/local/lib/python2.7/dist-packages/PIL/ImageFile.py", line 189, in load
d = Image._getdecoder(self.mode, d, a, self.decoderconfig)
File "/usr/local/lib/python2.7/dist-packages/PIL/Image.py", line 385, in _getdecoder
raise IOError("decoder %s not available" % decoder_name)
IOError: decoder zip not available
>>>