Я попытался использовать PIL для работы с JPEG в моем приложении django с PIL, но я получаю этот IOError.. не уверен, что делать.
""decoder jpeg not available""
Мне не хватает декодера JPEG с моего сервера? Если да, то как это исправить?
Я попытался использовать PIL для работы с JPEG в моем приложении django с PIL, но я получаю этот IOError.. не уверен, что делать.
""decoder jpeg not available""
Мне не хватает декодера JPEG с моего сервера? Если да, то как это исправить?
Сначала вам нужно установить библиотеку 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
Я нашел этот ответ от автора "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 и средства командной строки. Прочитайте, как это сделать
Более сильный ответ можно найти в установить 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
и, очевидно, подушка смогла найти поддержку jpegs.
В папке установки 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
Для пользователей 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