установить подушку на убунту 14.04

11

Я без ума от подушки. Я уже спрашиваю здесь, не решая:

Ошибка установки Python Django Mezzanine для пакета Pillow

У меня есть Ubuntu 14.04 и python 2.7.

Устанавливая подушку с помощью pip или из github у меня такая ошибка:

x86_64-linux-gnu-gcc: error: build/temp.linux-x86_64-2.7/_imaging.o: File o directory non esistente
x86_64-linux-gnu-gcc: error: build/temp.linux-x86_64-2.7/decode.o: File o directory non esistente
x86_64-linux-gnu-gcc: error: build/temp.linux-x86_64-2.7/encode.o: File o directory non esistente
x86_64-linux-gnu-gcc: error: build/temp.linux-x86_64-2.7/map.o: File o directory non esistente
x86_64-linux-gnu-gcc: error: build/temp.linux-x86_64-2.7/display.o: File o directory non esistente
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

----------------------------------------
Cleaning up...
Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/Pillow/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-ctXrZt-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/Pillow
Traceback (most recent call last):
 File "/usr/bin/pip", line 9, in <module>
load_entry_point('pip==1.5.4', 'console_scripts', 'pip')()
 File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 185, in main
return command.main(cmd_args)
 File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 161, in main
text = '\n'.join(complete_log)
 UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 28: ordinal not in range(128)

Естественно, я следую за этим также:

Установка PIL в Ubuntu 14.04.1 LTS

Может быть, есть какой-то конфликт библиотек. Я пытаюсь удалить все и установить снова, но у меня всегда одна и та же ошибка.

У вас есть предложение?

franco_b
источник
Вы использовали sudo для установки подушки, верно?
don.joey
уверен, что я тоже использую sudo.
franco_b
Вы забыли упомянуть, что вы используете virtualenv. Деактивировать свой virtualenv. Установите систему подушек широко с sudo apt-get install python-pil. Реактивируй свою виртуальность. Беги sudo pip install pillow.
don.joey
Я уже установил самую последнюю версию python-pil, в любом случае, вы правы, я забыл сказать, что я оскорбляю Pillow, используя virtualenv
franco_b

Ответы:

18

Во-первых, вам нужен пакет python-dev, потому что Pillow нужны определенные заголовки компиляции.

sudo apt-get install python-dev

В Ubuntu 14.04 вам понадобится несколько дополнительных пакетов для работы подушки. Установите их все с помощью команды:

sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk

Это будет работать как для python 2.x, так и для python 3.x. Вам может не понадобиться все это, но по крайней мере вы должны установить libjpeg8-devи zlib1g-devдля поддержки JPEG и PNG.

Если вы используете Ubuntu 12.04, используйте следующую команду.

sudo apt-get install libtiff4-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.5-dev tk8.5-dev python-tk

Подробные инструкции можно найти в официальной документации подушки.

Установка - Подушка (PIL Fork) 2.6.1 документация

Тони Джозеф
источник
1
Для питона 3 пробега$ sudo apt-get install python3-dev
Михаил Радионов
1
sudo apt-get install python-dev python-setuptools

и

sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk
Manuel
источник
2
Пожалуйста, опишите ваш ответ немного.
Странник
1
Добро пожаловать в Спросите Ubuntu! Я рекомендую отредактировать этот ответ, чтобы дополнить его конкретными сведениями о том, как это сделать. (См. Также Как написать хороший ответ? Для общего совета о том, какие ответы считаются наиболее ценными в Ask Ubuntu.)
Дэвид Фоерстер
На самом деле это самый правильный ответ. Я не совсем понимаю, почему за него проголосовали, а потом кто-то заменил его новым ответом - надо было просто изменить больше объяснений, нет?
Benjaoming
Это работало для меня на Debian 8, но мне пришлось удалить libjpeg8-dev из списка.
Программист
0

попробуйте установить это развитие зависимости:

sudo apt-get install python-dev python-setuptools
Ros
источник
1
Хотя технически это может дать ответ на вопрос, обычно лучше включить немного объяснения относительно того, что это будет делать, а не только необработанные команды.
RPiAwesomeness
0

В дополнение к вышеупомянутым установкам у меня все еще была вышеупомянутая ошибка при установке Подушки.

Чтобы исправить ошибку, перейдите в / usr / include:

cd /usr/include

Создайте символическую ссылку, указывающую на каталог freetype2:

ln -s freetype2 freetype
Рамон
источник