Установка Python Image Library (PIL) в x64 системы на примере CentOS

от автора

Когда разработчики требуют множество python и django различных версий на одном хосте на помощь приходит
virtualenv…

Но после этого доустанавливать дополнительные модули для каждого python приходиться руками через pip

И тут возникают нюансы. Например с библиотекой PIL

Она прекрасно устанавливается, но при попытке работы с ней выдает вот такие великолепные сообщения об ошибках

decoder jpeg not available

Проблема в том, что при сборке PIL не может библиотеки для работы с jpeg, zlib, tiff, freetype, потому что в нашем случае они лежат в /usr/lib64, а в PIL написано искать только в /usr/local/lib


Вот diff, который решает данную проблему:

*** setup.py.orig       2012-12-01 16:11:49.000000000 +0400 --- setup.py    2012-12-01 16:12:15.000000000 +0400 *************** *** 147,152 **** --- 147,154 ----               add_directory(library_dirs, "/opt/local/lib")               add_directory(include_dirs, "/opt/local/include") + +         add_directory(library_dirs, "/usr/lib64") +         add_directory(library_dirs, "/usr/lib")           add_directory(library_dirs, "/usr/local/lib")           # FIXME: check /opt/stuff directories here? 

Ну и напоследок пример установки для CentOS:
Подразумевается, что нужная версия python и python-devel уже установлена в необходимом
виртуальном окружении.

yum install libjpeg libjpeg-devel zlib zlib-devel libtiff libtiff-devel freetype freetype-devel wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz tar -zxvf Imaging-1.1.7.tar.gz cd Imaging-1.1.7 

Теперь патчим setup.py и продолжим уже в необходимом виртуальном окружении:

python setup.py build --force python setup.py install 

ссылка на оригинал статьи http://habrahabr.ru/company/centosadmin/blog/161517/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *