Закрыть

Для эффективной работы на сайте используются cookie и обработка персональных данных. Пользуясь этим сайтом, вы соглашаетесь с правилами использования сайта. Подробнее

Цитата дня

Vivazzi.ru

Личный сайт Мальцева Артема

Если человек стремится к чему-то всем своим сердцем, он обязательно сумеет добиться того, чего хочет, даже если это кажется невозможным, даже если все окружающие открыто заявляют ему, что это невозможно.

Чак Норрис

Ошибка PIL: decoder jpeg not available

7 февраля 2014 г. 22:11

При использовании PIL в Linux может возникнуть ошибка: decoder jpeg not available. Ниже описываются несколько способов, позволяющих решить данную проблему.

1) PIL требует наличие библиотеки libjpeg-dev

Попробуйте установить её (ключ -I в команде pip install выполняет переинсталяцию библиотеки):

$ sudo apt-get install libjpeg-dev​
$ pip install -I PIL

Но если у вас это не сработает, попытайтесь сделать симлинки библиотек в указанные ниже пути:

Для x64 разрядной системы:

$ sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib

Для x32 разрядной системы:

$ sudo ln -s /usr/lib/i386-linux-gnu/libjpeg.so /usr/lib/
$ sudo ln -s /usr/lib/i386-linux-gnu/libfreetype.so.6 /usr/lib/
$ sudo ln -s /usr/lib/i386-linux-gnu/libz.so /usr/lib/

А затем снова переинсталировать:

$ pip install -I PIL

2) Если не найден пакет libjpeg-dev

Если при установке библиотеки libjpeg-dev командой apt-get install libjpeg-dev возникла ошибка:

E: Не удалось найти пакет libjpeg-dev​

то может помочь следующее решение:

Для x64 разрядной системы:

$ 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 разрядной системы

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

3) Установить дополнительные библиотеки:

$ apt-get install libjpeg62 libjpeg62-dev zlib1g-dev libfreetype6 libfreetype6-dev

4) Нужно посмотреть списки репозиторий и при необходимости добавить нужные пути в интернете до источников.

Или имеется ошибка E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты при попытке вызвать sudo apt-get install libjpeg-dev, то заходим в /etc/apt/sources.list, где хранятся все списки репозиторий:

$ sudo nano /etc/apt/sources.list

И проверяем есть ли ниже написанная сточка:

# /etc/apt/sources.list

deb http://ru.archive.ubuntu.com/ubuntu/ precise main

Если нет, то попробуем добавить (у меня она и сработала на linux mint 14 Nadia)

Надо отметить, что есть сервис, позволяющий сгенерировать sources.list - http://repogen.simplylinux.ch/. На этой странице я сгенерировал для себя sources.list, выбрав страну - "Россия", релиз - "Precise 12.04 (LTS, supported until April 2017)" и поставив галочку на "Main - Officially supported software.".

Дополнительно про репозитории можно прочитать здесь: http://help.ubuntu.ru/wiki/репозиторий, про установку программ в linux здесь: http://help.ubuntu.ru/wiki/установка_программ

Далее обновим списки репозиторий и пакеты.

$ sudo dpkg-reconfigure -a  # dpkg-reconfigure с ключом -a будет перенастраивать все пакеты
$ sudo apt-get dist-upgrade # попытка обновить пакеты с "с продвинутым механизмом разрешения конфликтов"
$ sudo apt-get update  # Если в логе возникают 404 ошибки при попытке закачки какого-то пакета, то нужно попробовать убрать лишнее из /etc/apt/sources.list 
# (мне пришлось так вообще одну строчку "deb http://ru.archive.ubuntu.com/ubuntu/ precise main" оставить, чтобы заработало)

Теперь снова пробуем выполнить способы 1, 2, 3. Если и это не помогает, то попытаться поискать в гугле.

Оцените статью

0 из 5 (всего 0 оценок)

Поля, отмеченные звёздочкой ( * ) , являются обязательными.

Спасибо за ваш отзыв!

Автор статьи

Права на использование данной статьи, расположенной на настоящей странице http://vivazzi.ru/it/decoder-jpeg-not-available/:

Разрешается копировать статью с указанием её автора и ссылки на оригинал без использования параметра rel="nofollow" в теге <a>. Использование:

Автор статьи: Мальцев Артём
Ссылка на статью: <a href="http://vivazzi.ru/it/decoder-jpeg-not-available/">http://vivazzi.ru/it/decoder-jpeg-not-available/</a>

Подробнее: Правила использования сайта

Вам нужно саморазвиваться или вы хотите зарабатывать деньги?

Или вы ищите хорошие IT сервисы или книги? Сохраните свое время и взгляните на мою подборку рекомендаций, которыми постоянно пользуюсь.
Посмотреть рекомендации

Комментариев: 0

Вы можете оставить комментарий как незарегистрированный пользователь. Но, зарегистрировавшись, вы сможете получать оповещения об ответах, а также иметь доступ к своему личному аккаунту для просмотра своих комментариев.

Чтобы оставить комментарий от своего имени войдите или зарегистрируйтесь обычным способом или через социальные сети:

Отправить

На данный момент нет специального поиска, поэтому я предлагаю воспользоваться обычной поисковой системой, например, Google, добавив "vivazzi" после своего запроса.

Попробуйте