Установить 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 по всей системе:
Поскольку у меня уже был установлен PIL (через pip на virtualenv), я запустил:
pip uninstall PIL
pip install PIL --upgrade
Это решило decoder JPEG not available
ошибка для меня.
Вы должны установить библиотеки:
sudo aptitude install libjpeg62 libjpeg62-dev zlib1g-dev