Error al instalar pip install Pillow en Ubuntu virtualenv
(9)
Tengo una instancia de ec2 y tuve Pillow 2.0 instalado en mi Virtualenv inicialmente. De alguna manera, cuando intenté actualizarlo a Pillow 2.5, falló con el siguiente mensaje. El error es el mismo incluso después de haber eliminado completamente Pillow antes de volver a instalarlo. (Así que ahora no tengo Pillow en mi virtualenv en absoluto)
$ pip install Pillow
....
....
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -Qunused-arguments -Qunused-arguments -fPIC -DHAVE_LIBJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/home/andycheng/realprice/env/build/pillow/libImaging -I/home/andycheng/realprice/env/include -I/usr/include/tcl8.5 -I/usr/local/include -I/usr/include -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu -c libImaging/RawDecode.c -o build/temp.linux-x86_64-2.7/libImaging/RawDecode.o
gcc: error: unrecognized option ‘-Qunused-arguments’
gcc: error: unrecognized option ‘-Qunused-arguments’
....
....
gcc: error: build/temp.linux-x86_64-2.7/libImaging/XbmEncode.o: No such file or directory
gcc: error: build/temp.linux-x86_64-2.7/libImaging/ZipDecode.o: No such file or directory
gcc: error: build/temp.linux-x86_64-2.7/libImaging/ZipEncode.o: No such file or directory
gcc: error: build/temp.linux-x86_64-2.7/libImaging/TiffDecode.o: No such file or directory
gcc: error: build/temp.linux-x86_64-2.7/libImaging/Incremental.o: No such file or directory
gcc: error: build/temp.linux-x86_64-2.7/libImaging/Jpeg2KDecode.o: No such file or directory
gcc: error: build/temp.linux-x86_64-2.7/libImaging/Jpeg2KEncode.o: No such file or directory
gcc: error: unrecognized option ‘-Qunused-arguments’
gcc: error: unrecognized option ‘-Qunused-arguments’
error: command ''gcc'' failed with exit status 1
----------------------------------------
Cleaning up...
Command /home/andycheng/realprice/env/bin/python -c "import setuptools, tokenize;__file__=''/home/andycheng/realprice/env/build/Pillow/setup.py'';exec(compile(getattr(tokenize, ''open'', open)(__file__).read().replace(''/r/n'', ''/n''), __file__, ''exec''))" install --record /tmp/pip-U8jA_X-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/andycheng/realprice/env/include/site/python2.7 failed with error code 1 in /home/andycheng/realprice/env/build/Pillow
No sé si esto está relacionado, pero hay un montón de gcc: error: build/temp.linux-x86_64-2.7/_imaging.o: No such file or directory
errores de gcc: error: build/temp.linux-x86_64-2.7/_imaging.o: No such file or directory
en el registro. Y hay una gran cantidad de gcc: error: unrecognized option ''-Qunused-arguments''
también.
Sin embargo, puedo instalar Pillow 2.5 con mi acceso de root, pero luego no se instalará en mi Virtualenv.
sudo pip install Pillow # this works but wrong directory
pip install -I Pillow==2.0 # gives the same error and would not install
Versiones
PIP: 1.5.4
Linux: Ubuntu 12.04.4 LTS (todo el paquete actualizado)
Gracias
¡Finalmente he encontrado la respuesta a este dolor de cabeza!
Resulta que tengo dos configuraciones de bandera en mi .bashrc
:
export CFLAGS=-Qunused-arguments
export CPPFLAGS=-Qunused-arguments
El .bashrc fue copiado de mi Macbook Pro y estas dos banderas fueron necesarias para darle la vuelta a XCODE. Parece que se romperán en Linux.
Después de eliminar estos dos indicadores, pip install Pillow
funciona como se esperaba.
Gracias a todos por la ayuda.
En Fedora, la instalación de rpm-build
me lo resolvió. Asegúrate de tener también python-devel
y libjpeg-devel
instalados.
En mi máquina CentOS tuve que:
yum install python-devel
Es posible que deba instalar los encabezados de desarrollo de python.
sudo apt-get build-dep python-imaging
La nueva versión 3.0 no funciona, tenemos que instalar la versión 2.9.0 que funciona con Django. Haz esto mientras estés dentro del entorno virtual:
pip install Pillow==2.9.0
Esto debería funcionar también en Ubuntu, uso el sistema operativo de primaria.
Mi caso era ligeramente diferente ya que a mi ubuntu 15.04 también le faltaba libjpeg, por lo que la instalación fallaba cada vez. Aparentemente, a veces pillow no puede encontrar la biblioteca requerida y la forma más fácil de solucionarlo es instalar la versión dev y vincularla a las librerías de usuario.
sudo apt-get install python-dev
sudo apt-get install libjpeg8-dev
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib
pip install pillow
Solución parcial encontrada here
También tuve el mismo dolor de cabeza ...
La solución se encontró después de leer documentos, que dice:
A partir de la versión 3.0.0 Pillow necesita libjpeg ...
Entonces prueba el anterior:
pip install pillow==2.9.0
(Funciona para python 2.6 y superior)
¡Buena suerte!
Tenga en cuenta para mí y para todos los demás, conseguir esto para compilar en Elementary OS Luna (Ubuntu 12.04) requiere la instalación de los encabezados python que necesita para su versión virtualenv python según los comentarios en el OP. Estoy usando la versión por defecto de python y probando 3.4 (a través de deadsnakes ppa) así que para mí esto fue:
sudo apt-get install python-dev
sudo apt-get install python3.4-dev
¡PERO! ¡Todavía recibía el mismo error! Comprobé mi .bashrc según la respuesta de OP, no tenía exportaciones coincidentes. Entonces me di cuenta, había estado solucionando problemas por un tiempo y de una respuesta en otro lugar había intentado configurarlos y no había reiniciado bash.
Así que no te olvides de reiniciar (o re-fuente, supongo) bash para asegurarte de que tus exportaciones coincidan con .bashrc!
editar: Esto es un poco largo para un comentario, pero realmente no es una respuesta. Modificará si es necesario.
Ubuntu 16.04 virtualenv
pip install pillow==2.9.0