PIL поддерживает JPEG в моей системе.
Всякий раз, когда я делаю загрузку, мой код не работает с:
File "PIL/Image.py", line 375, in _getdecoder
raise IOError("decoder %s not available" % decoder_name)
IOError: decoder jpeg not available
Как я могу решить это?
Ответы:
libjpeg-dev требуется, чтобы иметь возможность обрабатывать JPEG с подушкой (или PIL), поэтому вам нужно установить его и затем перекомпилировать подушку. Также кажется, что libjpeg8-dev необходим в Ubuntu 14.04
Если вы все еще используете PIL, тогда вам действительно следует использовать подушку в эти дни, поэтому сначала,
pip uninstall PIL
прежде чем следовать этим инструкциям для переключения, или, если у вас есть веские причины придерживаться PIL, замените «подушку» на «PIL» в приведенном ниже примере. ).На Ubuntu:
Если это не сработает, попробуйте выполнить одно из следующих действий, в зависимости от того, используете ли вы 64-битную или 32-битную Ubuntu.
Для Ubuntu x64:
Или для Ubuntu 32bit:
Затем переустановите подушку:
(Изменения включают обратную связь с комментариями. Спасибо Чарльзу Оффенбахеру за то, что он указал, что это отличается для 32-битной версии, и t-mart за предложение использования
--no-cache-dir
).источник
pip install
, но затем последующие удаления и (повторные) установки были подозрительно быстрыми. Во всяком случае , методы, описанные выше, не работали для меня, пока я не побежалpip install --no-cache-dir pillow
. Удачи!Для тех, кто работает в OSX, я использовал следующий двоичный файл для установки libpng и libjpeg по всей системе:
libpng & libjpeg для OSX
Поскольку у меня уже был установлен PIL (через pip на virtualenv), я запустил:
Это решило
decoder JPEG not available
ошибку для меня.ОБНОВЛЕНИЕ (24.04.14) :
Более новые версии pip требуют дополнительных флагов для загрузки библиотек (включая PIL) из внешних источников. Попробуйте следующее:
Дополнительную информацию смотрите в следующем ответе: pip install PIL не устанавливается в virtualenv
ОБНОВЛЕНИЕ 2 :
Если в OSX Mavericks вы захотите установить
ARCHFLAGS
флаг как комментарии @RicardoGonzales ниже :источник
Это единственный способ, который работал для меня. Установка пакетов и переустановка PIL не работали.
В Ubuntu установите необходимый пакет:
(Вы также можете установить,
libfreetype6 libfreetype6-dev zlib1g-dev
чтобы включить другие декодеры).Затем замените ПИЛ на подушку:
источник
pip install pillow --upgrade
.Следующие работы на Ubuntu 12.04:
когда вы видите «- Доступна поддержка JPEG», это означает, что это работает.
Но, если это все еще не работает, когда вы редактируете изображение в формате JPEG, проверьте путь к Python! мой путь к Python пропущен
/usr/local/lib/python2.7/dist-packages/PIL-1.1.7-py2.7-linux-x86_64.egg/
, поэтому я редактирую и~/.bashrc
добавляю следующий код в этот файл:Редактировать:
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/dist-packages/PIL-1.1.7-py2.7-linux-x86_64.egg/
тогда, наконец, это работает !!
источник
На Fedora 17 мне пришлось установить
libjpeg-devel
и затем переустановитьPIL
:источник
Ответ Роло превосходен, однако мне пришлось переустанавливать Pillow, обходя кэш pip (представлен в pip 7), иначе он не будет перекомпилирован должным образом !!! Команда:
и вы можете увидеть, правильно ли настроена Pillow, прочитав в журналах следующее:
как вы можете видеть, поддержка jpg, tiff и т. д. включена, потому что ранее я устанавливал необходимые библиотеки через apt (libjpeg-dev libpng12-dev libfreetype6-dev libtiff-dev)
источник
В Mac OS X Mavericks (10.9.3) я решил эту проблему следующим образом:
Установите libjpeg от brew (система управления пакетами)
переустановите подушку (я использую подушку вместо PIL)
источник
brew unlink jpeg && brew link jpeg
перед установкой подушки.Установите их и обязательно установите PIL с pip, потому что я скомпилировал его из исходного кода и по какой-то причине он не работал
источник
Я уже использовал
Pillow
и получил ту же ошибку. Попытка установкиlibjpeg
илиlibjpeg-dev
как предложено другими, но было сказано, что (более новая) версия уже установлена.В конце концов все, что нужно было переустановить
Pillow
:источник
Я слишком новичок, чтобы комментировать Zeantsoi сообщение; (. Так вот его, что мне нужно было сделать, чтобы решить на OSX на 10.9.1
1) установить инструменты Xcode (откройте ваш терминал и выполните:)
xcode-select --install
- взято из этого поста: не удается установить PIL после Mac OS X 10.92) установить пакет libpng и libjpeg (установщик комбо) по этой ссылке: http://ethan.tira-thompson.com/Mac_OS_X_Ports.html
3) перезагрузка (не уверен, что это было обязательно)
4) Переустановите PIL с запуском
pip install -I PIL
(как я изначально установил PIL до возникновения проблемы)Надеюсь, что это поможет и не путайте больше ...
_oho
источник
Этот вопрос был опубликован довольно давно, и большинство ответов тоже довольно старые. Поэтому, когда я часами пытался это выяснить, ничего не получалось, и я попробовал все предложения в этом посте.
Я все еще получал стандартные ошибки JPEG при попытке загрузить JPG в форме аватара Django:
Затем я проверил репозиторий для Ubuntu 12.04 и заметил несколько дополнительных пакетов для
libjpeg
. Я установил их, и моя проблема была решена:Установка этих удалены
libjpeg-dev
,libjpeg-turbo8-dev
иlibjpeg8-dev
.Надеюсь, что это поможет кому-то в 2015 году и далее!
ура
источник
Та же проблема здесь,
JPEG support available
но все же естьIOError: decoder/encoder jpeg not available
, за исключением того, что я использую подушку, а не PIL.Я попробовал все вышеперечисленное и многое другое, но через много часов я понял, что использование
sudo pip install
не работает, как я ожидал, в сочетании сvirtualenv
. Я такой глупый.Использование
sudo
эффективно запускает команду в новой оболочке (мое понимание этого может быть не совсем правильным), где virtualenv не активирован, что означает, что пакеты будут установлены в глобальной среде. (Это запутало вещи, я думаю, что у меня было 2 разные установки подушки.)Я все почистил, поменял пользователя на root и переустановил в virtualenv и теперь все работает.
Надеюсь, это кому-нибудь поможет!
источник
Для Fedora
Установите предварительные условия
sudo dnf install make automake gcc gcc-c++ kernel-devel rpm-build libjpeg-devel zlib-devel python-devel
Теперь установите подушку
sudo pip install pillow
Примечание. Для libjpeg и zlib мы устанавливаем пакеты libjpeg-devel и zlib-devel в Fedora / CentOS / Red Hat
источник
Сначала мне пришлось удалить папки python в скрытой папке user / appData (которая создавала огромные головные боли), в дополнение к удалению Python. Затем я установил дистрибутив WinPython: http://code.google.com/p/winpython/, который включает в себя PIL
источник
Для тех, кто работает в Mac OS Mountain Lion, я следил за откликом zeantsoi, но это не работает.
Я, наконец, закончил с решением этого поста: http://appelfreelance.com/2010/06/libjpeg-pil-snow-leopard-python2-6-_jpeg_resync_to_restart/
Теперь я с удовольствием запускаю свой скрипт для jpeg!
источник