python - instalación de pip PIL-E TICKETS-1-No admite JPEG/PNG
python-imaging-library virtualenv (3)
Este hilo en los foros de Ubuntu cubre este tema.
Estoy usando Ubuntu y VitualEnv para mi proyecto Django.
Tengo la biblioteca PIL instalada con Synaptic Package Manager y está funcionando bien. Pero cuando creo un VitrualEnv e intento instalar PIL usando pip it installes, pero me sale este extraño comportamiento:
--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version 1.1.7
platform linux2 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53)
[GCC 4.5.2]
--------------------------------------------------------------------
*** TKINTER support not available
*** JPEG support not available
*** ZLIB (PNG/ZIP) support not available
*** FREETYPE2 support not available
*** LITTLECMS support not available
--------------------------------------------------------------------
To add a missing option, make sure you have the required
library, and set the corresponding ROOT variable in the
setup.py script.
Esperaba poder usar Requirements.txt para todas mis dependencias, pero es posible que PIL tenga que ser instalado de forma manual ... pero, ¿cómo?
Edit: Gracias John Keyes , tienes razón, corro:
sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib/
sudo ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/
y después de otro intento para instalar PIL obtengo:
--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version 1.1.7
platform linux2 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53)
[GCC 4.5.2]
--------------------------------------------------------------------
*** TKINTER support not available
--- JPEG support available
--- ZLIB (PNG/ZIP) support available
--- FREETYPE2 support available
*** LITTLECMS support not available
- -------------------------------------------------------------------
To add a missing option, make sure you have the required
library, and set the corresponding ROOT variable in the
setup.py script.
Edición: es posible que necesite instalar libfreetype6-dev libjpeg8-dev
Una solución que parece funcionar para nosotros (a partir de PIL 1.7.7) es desinstalar PIL primero y luego Pillow y luego instalar una almohada de instalación. Por supuesto que necesitas tener libjpeg8-dev instalado.
Y por si acaso, si está usando virtualenv, no necesita crear enlaces simbólicos en todo el sistema, aquí está la solución universal que funciona en cualquier arquitectura:
ln -s /usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH`/libz.so $VIRTUAL_ENV/lib/
ln -s /usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH`/libfreetype.so $VIRTUAL_ENV/lib/
ln -s /usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH`/libjpeg.so $VIRTUAL_ENV/lib/
Y necesita ejecutar estas líneas dentro de la sesión de shell virtualenv, los enlaces simbólicos se crearán dentro de su directorio virtualenv lib
.
El comando dpkg-architecture -qDEB_HOST_MULTIARCH
se está utilizando para detectar el directorio de libs del sistema principal ( uname -i
no es confiable). Y la variable de entorno $VIRTUAL_ENV
se establece mediante el script de activate
virtualenv.