Библиотека PIL / JPEG / Help!


Я пытался использовать PIL, чтобы сделать некоторую работу JPEG в моем приложении django с PIL, но я получаю этот IOError.. не знаю, что делать.

""decoder jpeg not available""

Я пропустил декодер JPEG с моего сервера? Если да, то как это исправить?

8 51

8 ответов:

сначала вам нужно установить библиотеку jpeg и переустановить PIL. Например, я использую CentOS, чтобы установить libjpeg, я запускаю

sudo yum install -y libjpeg-devel

Это зависит от того, какой Linux вы используете. И здесь вы должны удалить старый PIL

rm -rf /usr/lib/python2.6/site-packages/PIL-1.1.7-py2.6-linux-x86_64.egg/

затем установите PIL

sudo easy_install PIL

Я нашел этот ответ от автора "Эдвард"

на Ubuntu precise PIL не находит файлы библиотеки jpeg, даже после их установки. Самый простой способ исправить это-сделать символическую ссылку после установки пакета jpeg dev. Итак, мне нужен был дополнительный шаг:

для 64-разрядных ОС

pip uninstall PIL
sudo apt-get install libjpeg8-dev
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib
pip install PIL

для x32 OS

pip uninstall PIL
sudo apt-get install libjpeg8-dev
sudo ln -s /usr/lib/i386-linux-gnu/libjpeg.so /usr/lib
pip install PIL

Я подтверждаю, что это работает для меня на Ubuntu Linux 12.04.


Если вы Mac пользователь - вам нужно установить Xcode и инструменты командной строки. читайте, как это сделать

более сильный ответ можно найти в установить pil на virtualenv с libjpeg

для меня то, что наконец-то сработало на Ubutu было:

pip uninstall PIL
sudo apt-get install libjpeg8-dev
pip install PIL

библиотека изображений Python (PIL) кажется очень разборчивой в версии и расположении библиотек jpeg. И поскольку PIL написан на C и скомпилирован, вам нужно развитие версии библиотеки в дополнение к версии среды выполнения.

У меня нет привилегий sudo, потому что я нахожусь на общем сервере bluehost. Поэтому я не могу запустить ни одну из этих команд sudo apt-get jpeg. Я в конечном итоге работает

pip uninstall pil
pip install pillow

и, видимо, подушка смогла найти поддержку для JPEG.

есть selftest.py в папке установки образа попробуйте:

python selftest.py

вы увидите что-то вроде этого:

--------------------------------------------------------------------
*** PIL CORE support not installed
*** TKINTER support not installed
--- JPEG support ok
--- ZLIB (PNG/ZIP) support ok
*** FREETYPE2 support not installed
*** LITTLECMS support not installed
--------------------------------------------------------------------

если поддержка JPEG недоступна, Centos:

yum install libjpeg-devel
yum install freetype-devel 
yum install libpng-devel

для пользователей mac, вы можете скачать библиотеку отсюда:http://ethan.tira-thompson.com/Mac_OS_X_Ports.html. затем удалите и установите PIL

вы можете построить PIL из источника:http://effbot.org/zone/pil-decoder-jpeg-not-available.htm

в дистрибутивах Debian используйте libjpeg62-turbo-dev вместо libjpeg8-dev