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

в 14:23, , рубрики: PIL, python, Python Imaging Library, метки: , ,

Когда разработчики требуют множество 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

Автор: LuckySB

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js