Я вижу, что этот вопрос задан по всему Интернету, и я пробовал следовать за ними, но я все еще не могу заставить 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
Но после всего этого я все равно получаю ошибку decoder %s not available
.
Я с ума сошел. Что-нибудь еще, что я мог пропустить?
Моя среда: 64-разрядный Ubuntu 11.04, работающий в виртуальной виртуальной машине.
Вот что я делаю, чтобы проверить, работает ли 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
>>>