Установка PIL с поддержкой jpeg и freetype в virtualenv

  • By admin
  • Пт 08 Июль 2011

Столкнулся с такой проблемой: даже если установлены пакеты libjpeg и libfreetype6-dev в конце компиляции PIL пишет такое безобразие:

*** TKINTER support not available
*** JPEG support not available
*** ZLIB (PNG/ZIP) support not available
*** FREETYPE2 support not available
--- LITTLECMS support available

Причина такого поведения -- корявый установщик PIL-а. Исправить положение можно выполнив такие команды:

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

После создания симлинков еще раз пробуем установить и скомпилировать: pip install pil

Если и это не поможет, то придется править установщик:

  1. вводим 'pip install -I pil --no-install' скачиваем и распаковываем исходники PIL в build каталок текущей виртуальной среды;
  2. заходим в каталог builds/pil/ и редактируем в редакторе файл setup.py;
  3. Ищем строку, в которой написано 'add_directory(library_dirs, "/usr/lib")' (214 строка);
  4. добавляем после этой строки строку 'add_directory(library_dirs, "/usr/lib/i386-linux-gnu")';
  5. закрываем редактор и после этого выполняем команду 'pip install -I pil --no-download'