Установить pil на virtualenv с libjpeg
В настоящее время я устанавливаю PIL в свой виртуальный env следующим образом:
pip install -E . -r ./releases/%s/requirements.txt
где requirements.txt содержит:
pil
В настоящее время я могу загружать изображения png, но не jpeg. От чтения в Интернете кажется, что мне может понадобиться декодер libjpeg? Я устанавливаю пилот неправильно? Каков правильный способ установки pil для django в виртуальном env с libjpeg?
Ответы
Ответ 1
Вы должны установить библиотеки, рекомендованные другими, но самое главное, вы должны сообщить PIL, где их найти. Отредактируйте setup.py, чтобы
JPEG_ROOT = None
становится
JPEG_ROOT = libinclude("/usr/lib")
Я обнаружил, что самый простой способ - загрузить источник с помощью pip, но не установить:
pip install --no-install PIL
отредактируйте настройку (внутри каталога сборки виртуальной среды) и установите
pip install PIL
вы можете найти дополнительную информацию в моем блоге .
Вы также можете попробовать pillow, который, кажется, отлично справляется с небольшим количеством хлопот (подушка для установки подушки)
Ответ 2
В 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
Ответ 3
В 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#why-a-fork
Ответ 4
В OSX я использовал следующий двоичный код для одновременного установки libpng и libjpeg:
libpng и libjpeg для OSX
Поскольку у меня уже был установлен PIL (через pip на virtualenv), я побежал:
pip uninstall PIL
pip install PIL --upgrade
Это разрешило ошибку decoder JPEG not available
для меня.
Ответ 5
Необходимо установить библиотеки:
sudo aptitude install libjpeg62 libjpeg62-dev zlib1g-dev
Ответ 6
если pip вызывает ошибку, попробуйте easy_install PIL