PIL / JPEG библиотека: "декодировщик JPEG недоступен"
Я пытаюсь использовать PIL для работы с JPEG в своем приложении Django, но получаю ошибку IOError
. Не знаю, что делать.
"декодер jpeg недоступен"
Отсутствует ли декодер JPEG на моем сервере? Если да, то как это исправить?
5 ответ(ов)
Вам нужно сначала установить библиотеку 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
Если у вас возникнут дополнительные вопросы или потребуется помощь, не стесняйтесь задавать!
У меня нет прав sudo, потому что я на общем сервере Bluehost. Поэтому я не могу выполнять команды sudo apt-get
для работы с JPEG. В итоге я запустил следующие команды:
pip uninstall pil
pip install pillow
И, судя по всему, Pillow
смог найти поддержку для JPEG.
Вы можете выполнить самопроверку вашего установленного Imaging, запустив скрипт selftest.py
, который находится в папке установки. Выполните команду:
python selftest.py
Вы должны увидеть что-то подобное:
--------------------------------------------------------------------
*** Поддержка PIL CORE не установлена
*** Поддержка TKINTER не установлена
--- Поддержка JPEG в порядке
--- Поддержка ZLIB (PNG/ZIP) в порядке
*** Поддержка FREETYPE2 не установлена
*** Поддержка LITTLECMS не установлена
--------------------------------------------------------------------
Если поддержка 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.
'pip' не распознан как командa внутреннего или внешнего формата
Как выполнить поиск в стиле getattr() в шаблоне Django
Инструмент для выявленияCircular Imports в Python/Django?
Пример Django allauth: [Errno 61] Отказано в подключении
"_set" в объекте queryset в Django