Установка PIL с поддержкой JPEG в Mac OS X - PullRequest
37 голосов
/ 06 декабря 2011

Я уже писал вопрос по этой теме и читал другие, опубликованные ранее, но ни один из них не решил мою проблему.

Я пытаюсь установить PIL на Mac OS X Lion, так как он мне нужен дляприложение Django.Мне также нужна поддержка JPEG, поэтому мне также нужен декодер JPEG.

Я попытался загрузить исходные коды libjpeg, скомпилировать их и установить PIL, но он не распознает каталог.

Так что мне бы хотелось, и я думаю, что это где-то существует, это метод установки PIL и libjpeg с помощью установщика пакетов, без необходимости какой-либо компиляции вообще!.

Ответы [ 7 ]

93 голосов
/ 30 августа 2012

В нашем virtualenv мы нашли все, что нам нужно было сделать:

pip uninstall PIL
brew install libjpeg
pip install PIL

, что проще, чем некоторые из перечисленных выше, и может быть достаточным для других с этой проблемой.Хотя на brew было предупреждение о xcode, а при переустановке PIL - предупреждение о пакете setup.py, все тесты, которые ранее не были выполнены с ошибками декодирования jpeg, были успешно выполнены только после быстрого действия, описанного выше.

18 голосов
/ 07 декабря 2011

Я установил libjpeg и PIL на Snow, и он без проблем был перенесен в Lion.

Однако я думаю, что у вас та же проблема, с которой я столкнулся при установке libjpeg 7 на Snow. Решение для меня было:

  • Убедитесь, что вы НЕ используете GCC 4.0. Это означает те строки экспорта в вашем файле .bash_profile, которые вам нужны для получения MySQLdb работать сейчас надо уходить.
  • get (http://www.ijg.org/files/jpegsrc.v7.tar.gz) и выполните обычную процедуру ./configure && make && make install (или как там говорится в readme).
  • Перед установкой PIL, но после установки libjpeg измените строку «JPEG_ROOT = None» в моем файле setup.py на «JPEG_ROOT = libinclude ( «/ USR / местные»)»

Я получил это от комментария к этому блогу .

После этого вы можете переустановить PIL через pip или easy_install. Убедитесь, что все скомпилированные вещи из вашего последнего запуска удалены (иногда вам нужно сделать это вручную). Я использовал virtualenv и pip.

16 голосов
/ 10 мая 2012

Убедитесь, что у вас есть домашний напиток и пипс, а затем запустите:

brew install libjpeg
pip install pil
11 голосов
/ 30 октября 2012

Я использовал следующий двоичный файл для установки libpng и libjpeg по всей системе в OSX:

libpng & libjpeg для OSX

Поскольку у меня уже был установлен PIL (через pipна virtualenv), я запустил:

pip uninstall PIL
pip install PIL --upgrade

Это решило для меня ошибку decoder JPEG not available.

ОБНОВЛЕНИЕ:

При обнаруженииошибка encoder jpeg not available, вам может понадобиться установить libjpeg.При использовании Homebrew :

brew install libjpeg
3 голосов
/ 04 июля 2013

Для OSX, pip install PIL имел:

--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version       1.1.7
platform      darwin 2.7.2 (default, Oct 11 2012, 20:14:37)
              [GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)]
--------------------------------------------------------------------
--- TKINTER support available
*** JPEG support not available
--- ZLIB (PNG/ZIP) support available
*** FREETYPE2 support not available
*** LITTLECMS support not available
--------------------------------------------------------------------

Другой пост привел к чему-то, что работает.

Установить библиотеки из здесь .

3 голосов
/ 07 декабря 2011

Стоит отметить и хорошую информацию, которую нужно иметь при работе с Python и PIL: если вы используете virtualenv (и я думаю, что это очень хорошая идея), PIL может неправильно определять библиотеки изображений в вашей системе и устанавливать без поддержки JPEG / PNG,Используйте пакет подушек для совместимой вилки PIL, которая находит их правильно.

2 голосов
/ 31 января 2012

Если у вас установлен macports, вы должны сделать:

$ sudo port selfupdate
$ sudo port install py27-pil

Это проще, чем метод easy_install + libjpeg, поскольку macports устанавливает правильные зависимости.

...