Ubuntu 11.04: установка PIL в виртуальную среду с помощью PIP

Я потратил часы, пытаясь понять это.

Я делаю следующее:

sudo apt-get install python-dev
sudo apt-get install libjpeg8-dev
sudo apt-get install libfreetype6 libfreetype6-dev
mkvirtualenv -p python2.7 --no-site-packages foobar
pip install PIL

Всякий раз, когда я пытаюсь загрузить изображение на свой веб-сайт django-cms, я получаю сообщение об ошибке.


person Martin Brochhaus    schedule 26.05.2011    source источник
comment
Самое меньшее, что вы можете сделать, это опубликовать сообщение об ошибке...   -  person Mark van Lent    schedule 26.05.2011
comment
Сообщение об ошибке: Загрузите действительное изображение. Загруженный файл либо не является изображением, либо является поврежденным. Хотя ОП не сформулировал это как вопрос, это обычная проблема.   -  person claymation    schedule 04.07.2012


Ответы (1)


Я столкнулся с той же проблемой при попытке использовать Django и Virtualenv - я не мог загружать изображения, и после некоторых исследований все указывало на PIL. Я попытался переустановить пакет, но даже со всеми загруженными необходимыми библиотеками PIL по-прежнему не поддерживал JPG и PNG.

Похоже, разработчики Ubuntu решили изменить расположение библиотек (в соответствии с этим исправлением: http://ubuntuforums.org/showpost.php?p=10804763&postcount=2).

Мое решение:

  1. Убедитесь, что у вас установлены все библиотеки.

    sudo apt-get install libjpeg-dev libjpeg62 libjpeg62-dev zlib1g-dev libfreetype6 libfreetype6-dev

  2. Установите Pillow, который является более разумным пакетом PIL.

    подушка для установки pip (находясь в вашей виртуальной среде)

person stricjux    schedule 10.08.2011
comment
Как вы заставили Django работать с Pillow вместо PIL? Я получаю: чтобы использовать ImageFields, вам нужно установить PIL. - person Ron Cohen; 17.01.2012
comment
@Ron Cohen: Это простая замена - просто немного по-другому упакованный PIL. - person stricjux; 19.01.2012
comment
Я получаю следующую ошибку при попытке установить библиотеки с помощью apt-get: libjpeg-turbo8-dev : Conflicts: libjpeg62-dev but 6b1-2ubuntu1 is to be installed. Любые идеи? Я использую убунту 12.04 - person Juan Enrique Muñoz Zolotoochin; 21.06.2012
comment
@JuanEnriqueMuñozZolotoochin Удалить libjpeg-turbo8-dev? Это помогло? - person stricjux; 27.06.2012
comment
ОГРОМНОЕ спасибо. это сработало. перемещенный путь - приятное прикосновение - person George Godik; 26.08.2012