instalar travesseiro no ubuntu 14.04

11

Eu sou louco por travesseiro. Eu já pergunto aqui, sem resolver:

Falha na instalação do Python Django Mezzanine para o pacote Pillow

Eu tenho o Ubuntu 14.04 e python 2.7.

Instalando travesseiro usando pip ou do github, tenho este erro:

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)

Naturalmente eu sigo isso também:

Instalação do PIL no Ubuntu 14.04.1 LTS

Talvez haja algum conflito de biblioteca. Tento remover tudo e instalar novamente, mas sempre tenho o mesmo erro.

Você tem uma sugestão?

franco_b
fonte
Você usou o sudo para instalar travesseiro, certo?
don.joey
claro que eu uso o sudo também.
franco_b
Você esquece de mencionar que está usando um virtualenv. Desative seu virtualenv. Instale o sistema de travesseiros em toda a extensão sudo apt-get install python-pil. Reative seu virtualenv. Corra sudo pip install pillow.
don.joey
Eu já instalei a versão mais recente do python-pil, de qualquer forma você tem direito eu esqueci de dizer que eu insatll Pillow usando virtualenv
franco_b

Respostas:

18

Primeiro, você precisa do pacote python-dev porque o Pillow precisa de cabeçalhos de compilação definidos.

sudo apt-get install python-dev

No Ubuntu 14.04, você precisa de alguns pacotes extras para fazer o travesseiro funcionar. Instale todos eles com o comando:

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

Isso funcionará para python 2.xe python 3.x. Você pode não precisar de tudo isso, mas pelo menos deve instalar libjpeg8-deve zlib1g-devobter suporte para JPEG e PNG.

Se você estiver usando o Ubuntu 12.04, use o seguinte comando.

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

Instruções detalhadas podem ser encontradas na documentação oficial dos travesseiros.

Instalação - Almofada (PIL Fork) 2.6.1 documentação

Tony Joseph
fonte
1
Para python 3 run$ sudo apt-get install python3-dev
Michael Radionov
1
sudo apt-get install python-dev python-setuptools

e

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
fonte
2
Por favor, expanda um pouco sua resposta.
TheWanderer
1
Bem-vindo ao Ask Ubuntu! Eu recomendo editar esta resposta para expandi-la com detalhes específicos sobre como fazer isso. (Veja também Como faço para escrever uma boa resposta? Para o conselho geral sobre que tipos de respostas são consideradas mais valiosas sobre Ask Ubuntu.)
David Foerster
Esta é realmente a resposta mais correta. Eu não entendo muito bem por que foi votado negativamente e alguém o substituiu por uma nova resposta - deveria ter sido modificado com mais explicações, não?
benjaoming 11/01
Isso funcionou para mim no debian 8, mas eu tive que remover o libjpeg8-dev da lista.
Programster
0

tente instalar essas dependências de desenvolvimento:

sudo apt-get install python-dev python-setuptools
Ros
fonte
1
Embora isso possa responder tecnicamente à pergunta, geralmente é melhor incluir um pouco de explicação sobre o que isso fará, em vez de apenas os comandos brutos.
RPiAwesomeness 10/09/2015
0

Além das instalações acima, eu ainda tinha o erro acima ao instalar o Pillow.

Para corrigir o erro, navegue para / usr / include:

cd /usr/include

Crie um link simbólico, apontando para o diretório freetype2:

ln -s freetype2 freetype
Ramon
fonte