Установить pil на virtualenv с помощью libjpeg

В настоящее время я устанавливаю PIL в мою виртуальную среду следующим образом:

pip install -E . -r ./releases/%s/requirements.txt

где require.txt содержит:

pil

Я могу загружать изображения PNG, но не JPEG изображений в настоящее время. Из чтения в Интернете кажется, что мне может понадобиться декодер libjpeg? Я неправильно устанавливаю пил? Как правильно установить pil для django в виртуальном окружении с помощью libjpeg?

6 ответов

Решение

Вы должны установить библиотеки, которые рекомендовали другие, но самое главное, вы должны указать PIL, где их найти. Отредактируйте файл setup.py, чтобы

    JPEG_ROOT = None 

становится

JPEG_ROOT = libinclude("/usr/lib") 

Я обнаружил, что самым простым способом было загрузить исходный код с помощью pip, но не установить:

 pip install --no-install PIL

отредактируйте настройки (внутри директории сборки виртуальной среды) и установите

 pip install PIL

Вы можете найти больше информации в моем блоге

Вы также можете попробовать подушку, которая, кажется, отлично справляется с небольшими хлопотами (pip install pillow)

В Ubuntu, PIL не находит файлы библиотеки jpeg даже после их установки. Самый простой способ исправить это - создать символическую ссылку после установки пакета jpeg dev. Итак, мне нужен был дополнительный шаг:

pip uninstall PIL
sudo apt-get install libjpeg8-dev
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib
pip install PIL

В Ubuntu 11.04 у меня наконец-то получилось:

pip uninstall PIL
sudo apt-get install libjpeg8-dev
pip install PIL

Библиотека изображений Python (PIL), кажется, очень требовательна к версии и расположению библиотек jpeg. А поскольку PIL написан на C и скомпилирован, вам нужны версии библиотеки для разработки в дополнение к версиям времени выполнения.

Ситуация настолько плохая, что сообщество создало PIL для создания более мягкой версии: Pillow: http://pypi.python.org/pypi/Pillow

В OSX я использовал следующий двоичный файл для одновременной установки libpng и libjpeg по всей системе:

libpng & libjpeg для OSX

Поскольку у меня уже был установлен PIL (через pip на virtualenv), я запустил:

pip uninstall PIL
pip install PIL --upgrade

Это решило decoder JPEG not available ошибка для меня.

Вы должны установить библиотеки:

sudo aptitude install libjpeg62 libjpeg62-dev zlib1g-dev

Если pip вызывает ошибку, попробуйте easy_install PIL

Другие вопросы по тегам