Декодер jpeg библиотеки изображений Python (PIL) недоступен — как исправить?

У меня есть ошибка, которая генерируется PIL, когда я пытаюсь обработать jpg-изображения: Python Imaging Library (PIL) Decoder jpeg not available.

Как решить эту проблему?

Ответы (2)

В PIL отсутствует libjpegбиблиотека.

Чтобы установить его:

  1. Перейдите на http://www.ijg.org/files/jpegsrc.v8c.tar.gz .
  2. Распаковать этот пакет и cdв распакованную папкуcd ~/Downloads/jpeg-8c
  3. Скомпилируйте это:
    ./настроить
    делать
    
  4. Затем установите:sudo make install

Но PIL все еще не может найти библиотеку. Теперь вам нужно переустановить его:

  1. Удалите pil (если вы установили его с помощью pip, просто введите sudo pip uninstall pil)
  2. Загрузите PIL , распакуйте его и переместите в исходную папку.
  3. Теперь откройте setup.py в редакторе кода.
  4. Заменить JPEG_ROOT = NoneнаJPEG_ROOT = libinclude("/usr/local")
  5. Наслаждаться! Теперь это работает!
отлично работает .. +1 за прекрасный ответ

Вы также можете установить его с MacPorts . У них есть PIL для нескольких версий Python.

py-pil @1.1.7 (python, graphics)
    Python Imaging Library

py24-pil @1.1.7 (python, graphics)
    Python Imaging Library

py25-pil @1.1.7 (python, graphics)
    Python Imaging Library

py26-pil @1.1.7 (python, graphics)
    Python Imaging Library

py27-pil @1.1.7 (python, graphics)
    Python Imaging Library

Посетите сайт, чтобы узнать, как установить MacPorts, а затем просто введите sudo port install py-pil(или одну из других версий, например py27-pil). Подождите некоторое время, и у вас должен быть работающий PIL, если вы используете версию Python, для которой PIL был установлен.