установить pil на virtualenv с помощью libjpeg - PullRequest
16 голосов
/ 14 декабря 2010

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

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

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

pil

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

Ответы [ 6 ]

14 голосов
/ 23 сентября 2011

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

    JPEG_ROOT = None 

становится

JPEG_ROOT = libinclude("/usr/lib") 

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

 pip install --no-install PIL

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

 pip install PIL

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

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

10 голосов
/ 29 июля 2012

В 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
8 голосов
/ 20 января 2012

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

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

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

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

6 голосов
/ 30 октября 2012

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

libpng & libjpeg для OSX

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

pip uninstall PIL
pip install PIL --upgrade

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

3 голосов
/ 14 декабря 2010

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

sudo aptitude install libjpeg62 libjpeg62-dev zlib1g-dev
1 голос
/ 06 февраля 2014

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

...