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


11

Я з розуму від Подушки. Я вже прошу тут, не вирішуючи:

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

У мене є 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

Можливо, є якийсь бібліотечний конфлікт. Я намагаюся видалити всі та встановити знову, але у мене завжди одна помилка.

Ви маєте пропозицію?


Ви використовували судо для встановлення подушки, правда?
don.joey

звичайно, я також використовую судо.
franco_b

Ви забуваєте згадати, що ви використовуєте virtualenv. Деактивуйте свою віртуолв. Встановіть систему подушок поперек sudo apt-get install python-pil. Повторно активуйте свою віртуальність. Біжи sudo pip install pillow.
don.joey

Я вже встановив останню версію python-pil, все одно ви маєте рацію, я забув сказати, що я б перекинув Подушку за допомогою 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
Для python 3 run$ sudo apt-get install python3-dev
Michael Radionov

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

2
Будь ласка, розгорніть свою відповідь трохи.
The Wanderer

1
Ласкаво просимо в Ask Ubuntu! Рекомендую відредагувати цю відповідь, щоб розширити її конкретними деталями, як це зробити. (Дивіться також Як я можу написати гарну відповідь? Для загальних порад про те, які типи відповідей вважаються найціннішими на Ask Ubuntu.)
David Foerster

Це насправді найбільш правильна відповідь. Я не розумію зовсім, чому він опустився, і тоді хтось замінив його новою відповіддю - треба було просто змінити більше пояснень, ні?
benjaoming

Це працювало для мене на debian 8, але мені довелося видалити libjpeg8-dev зі списку.
Programster

0

спробуйте встановити цю залежність від розвитку:

sudo apt-get install python-dev python-setuptools

1
Хоча це технічно може відповісти на питання, зазвичай краще включити трохи пояснень, що це буде робити, а не лише необроблені команди.
RPiAwesomeness

0

На додаток до вищевказаних встановлень, у мене все ще була вказана вище помилка встановлення Подушки.

Щоб виправити помилку, перейдіть до / usr / include:

cd /usr/include

Створіть символьне посилання, вказуючи на каталог freetype2:

ln -s freetype2 freetype
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.