В последних версиях Ubuntu при установке PIL с помощью pip есть какая-то проблема с путями, поэтому библиотека собирается неправильно. Данная инструкция поможет решить проблему. Для компиляции PIL понадобятся вспомогательные библиотеки:
В Ubuntu 14.04 нужно установить эти библиотеки:
Теперь создадим символьные ссылки:
sudo apt-get install libjpeg-dev libfreetype6 libfreetype6-dev zlib1g-devПримечание:
В Ubuntu 14.04 нужно установить эти библиотеки:
apt-get install libjpeg-dev libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk -yЕсли сейчас мы выполним
pip install PIL
без них, то скомпилируется без поддержки JPEG: ---------------------------------------------------------------Оказалось, APT устанавливает библиотеки в каталог /usr/lib/i386-linux-gnu, а PIL ищет их в каталоге /usr/lib. Если у вас 64-разрядная система, то библиотеки устанавливаются в /usr/lib/x86_64-linux-gnu.
*** TKINTER support not available
--- JPEG support not available
--- ZLIB (PNG/ZIP) support not available
--- FREETYPE2 support not available
*** LITTLECMS support not available
---------------------------------------------------------------
Теперь создадим символьные ссылки:
sudo ln -s /usr/lib/`uname -i`-linux-gnu/libfreetype.so /usr/lib/где
sudo ln -s /usr/lib/`uname -i`-linux-gnu/libjpeg.so /usr/lib/
sudo ln -s /usr/lib/`uname -i`-linux-gnu/libz.so /usr/lib/
sudo ln -s /usr/include/freetype2 /usr/include/freetype # Upd. 30/12/2014
uname -i
подставит архитектуру вашей машины. Заново собираем PIL: pip install -U PIL
и получаем: --------------------------------------------------------------------Профит.
*** TKINTER support not available
--- JPEG support available
--- ZLIB (PNG/ZIP) support available
--- FREETYPE2 support available
*** LITTLECMS support not available
--------------------------------------------------------------------
Update для 14.04
Во-первых, в этой версии Ubuntu баг устранили, поэтому достаточно будет переустановить модуль. Во-вторых, устарел PIL, причем настолько, что его убрали из стандартных репозиториев, а на смену ему пришел Pillow, поэтому переустанавливаем его.pip uninstall PillowЕсли все же какие-то старые модули требуют именно PIL, то ставим его из частного репозитория как описано здесь.
pip install Pillow