Ошибки при установке PIL Python 02.07.2011

После апгрейда на Ubuntu 11.04 для новых виртуальных окружений начали появляться ошибки Upload a valid image. The file you uploaded was either not an image or a corrupted image в админке django'и для полей с ImageFields и их производных.

После небольших изысканий обнаружилась еще одна ошибка - IOError: decoder zip not available.

Оказываться PIL собрался (установленный через pip) без поддержки JPEG, ZLIB, FREETYPE2.

PIL 1.1.7 SETUP SUMMARY
*** JPEG support not available
*** ZLIB (PNG/ZIP) support not available
*** FREETYPE2 support not available

Для исправления нужно скачать сорцы PIL и в setup.py

wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz
tar -xzvf Imaging-1.1.7.tar.gz
cd Imaging-1.1.7
vim setup.py

внести небольшие правки

FREETYPE_ROOT = "/usr/lib/i386-linux-gnu/"
JPEG_ROOT = "/usr/lib/i386-linux-gnu/"
TIFF_ROOT = "/usr/lib/i386-linux-gnu/"
ZLIB_ROOT = "/usr/lib/i386-linux-gnu/"

После этого выполнить

python setup.py install

Для установки всех зависимостей (необязательно)

sudo apt-get build-dep python-imaging 

Другая ошибка с которой я сталкивался - ImportError: The _imagingft C module is not installed. Для исправления нужно было установить пакет libfreetype6-dev под Ubuntu.

sudo apt-get install libfreetype6-dev

После этого переустановить PIL, с помощью pip или из сорцов.

Как вариант можно установить Pillow, форк PIL, с более активным циклом обновлений.

Цитата
We need smart models, thin controllers, and dumb views.
Gennadiy Zlobin
Категории
Архив