2008-10-30 6 views
3

У меня возникли проблемы при получении снимков, поддерживаемые PIL - он бросает мне это:Python с PIL и Libjpeg на Leopard

IOError: decoder jpeg not available 

Я установил PIL с бинарными, не понимая, что мне нужно libjpeg.

Я установил libjpeg и freetype2 через fink.

Я попытался переустановить PIL, используя инструкцию из http://timhatch.com/ (в нижней части страницы)

  • Скачать PIL 1.1.6 пакета исходных кодов и иметь инструменты разработчика уже установлены
  • Patch setup.py с этим патчем поэтому он может найти Freetype, который у вас уже есть.

    patch -p0 < leopard_freetype2.diff

  • Sudo APT-получить установку libjpeg, если у вас есть Fink (в противном случае, построить вручную и настроить пути)

Но я все еще получаю ту же ошибку.

Я нахожусь на Leopard PPC.

ответ

0

Является ли путь python все еще смотря на старую двоичную версию libjpeg?

Вам нужно будет изменить его, чтобы указать на новое место, если оно есть.

Когда вы скомпилировали новую версию PIL, он сказал, что нашел libjpeg? Он будет легко скомпилироваться без него (iirc), и первый признак проблемы, который вы увидите, - это время включения.

Вам нужно будет отрегулировать путь на ./configure time.

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

1

Недавно у меня была аналогичная проблема с jpeg-декодером при развертывании проекта django на поле RHEL продукта, которое требовало PIL. Я загрузил PIL и сразу же установил «python setup.py install», и был счастлив, что все работает, пока я не столкнулся с проблемой. Решение: libjpeg уже установлен в системе, поэтому я установил libjpeg-devel. Я вернулся в источник PIL и запустил «python setup.py build», в конце которого на выходе, где он показывает, удалось ли настроить PIL для обнаружения поддержки jpeg, gif, freetype и т. Д., Он сказал, что Поддержка jpeg была в порядке. После установки PIL он работал нормально.

+0

Хороший совет - я думаю, что я приближаюсь. Я запустил python setup.py build и увидел, что у меня есть Tkinter, JPEG, ZLIB и FREETYPE2 - все в порядке. Но затем я запустил python selftest.py, и он вернул то же сообщение IOError: декодер недоступен. Похоже, сейчас у меня запланирована ночь. – thescreamingdrills 2008-10-31 02:11:02

1

У меня была такая же проблема, и после этого парня при условии, что решение для меня:

Р.М. PIL подкаталог и файл PIL.pth в визуализации-1.1.6 подкаталог

полную информацию здесь:

http://blog.tlensing.org/2008/12/04/kill-pil-%E2%80%93-the-python-imaging-library-headache/

После выполнения этого selftest.py работал отлично.Я также должен отметить, что я использую версию macports jpeg-библиотеки, и я уже указал JPEG_ROOT, чтобы указать на пути include и lib в моем корневом каталоге macports.

0

Если вы создаете с libjpeg, но selftest не удается, вы, вероятно, есть еще одна установка PIL, которая запутывает вещи. Попробуйте установить его и посмотрите, работает ли selftest.

Также прямая ссылка на инструкцию, упоминаемой в ФПЕ here

0

Я прилепился к этой проблеме уже нескольких часов сегодня. И мой совет - НЕ делать проб и ошибок снова и снова, если только вы не смогли исправить проблему в первые 15 минут.

есть несколько инструментов для вас, чтобы диагностировать проблему:

1. Проверьте, если JPEG Lib architcture соответствует вашей архитектуре машины:

file /usr/local/lib/libjpeg.7.dylib 

2.check если _imaging.so acutally связаны в скомпилированный Jpeg Lib

cd ImageSrc 

python setup.py build_ext -i 

otool -L PIL/_imaging.so 

3.Try импортировать _imaging.so и посмотреть, что проблема

cd PIL 

python 

import _imaging 

4.Finally, попробуйте удалить все предыдущие установлен PIL * из питона «сайт-пакет» каталог, чтобы убедиться, что набор вверх делает работу

python setup.py install 

Для меня, это из-за я использую 32 бит python на снежном барсе, и решил проблему путем установки jpeg lib таким образом:

./configure CFLAGS="-arch i386" --enable-shared --enable-static 

 Смежные вопросы

  • Нет связанных вопросов^_^