Подтвердить что ты не робот

Библиотека PIL/JPEG/Справка!

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

""decoder jpeg not available""

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

4b9b3361

Ответ 1

Сначала вам нужно установить библиотеку 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

Ответ 2

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

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

для x64 OS

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 и средства командной строки. Прочитайте, как это сделать

Ответ 3

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

Для меня, что в конечном итоге работало на Ubutu, было:

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

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

Ответ 4

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

pip uninstall pil
pip install pillow

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

Ответ 5

В папке установки Imaging есть 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

Ответ 8

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