pil from python django python-imaging-library redhat libjpeg

python - from - Biblioteca PIL/JPEG/¡Ayuda!



pillow python (8)

Traté de usar PIL para hacer algunos trabajos JPEG en mi aplicación django con PIL, pero estoy obteniendo este IOError ... no estoy seguro de qué hacer.

""decoder jpeg not available""

¿Me falta el decodificador JPEG de mi servidor? Si es así, ¿cómo lo arreglo?


En las distribuciones de Debian, use libjpeg62-turbo-dev en lugar de libjpeg8-dev


Hay un selftest.py en su carpeta de instalación de Imaging, intente:

python selftest.py

Verás algo así:

-------------------------------------------------------------------- *** PIL CORE support not installed *** TKINTER support not installed --- JPEG support ok --- ZLIB (PNG/ZIP) support ok *** FREETYPE2 support not installed *** LITTLECMS support not installed --------------------------------------------------------------------

si el soporte JPEG no está disponible, Centos:

yum install libjpeg-devel yum install freetype-devel yum install libpng-devel


No tengo privilegios sudo porque estoy en un servidor bluehost compartido. Entonces no puedo ejecutar ninguno de esos comandos sudo apt-get jpeg. Terminé corriendo

pip uninstall pil pip install pillow

y aparentemente pillow pudo encontrar soporte para jpegs.



Primero debe instalar la biblioteca jpeg y reinstalar su PIL. Por ejemplo, estoy usando CentOS, para instalar libjpeg, ejecuto

sudo yum install -y libjpeg-devel

Depende del tipo de Linux que estés utilizando. Y aquí tienes que eliminar el viejo PIL

rm -rf /usr/lib/python2.6/site-packages/PIL-1.1.7-py2.6-linux-x86_64.egg/

Luego instala el PIL

sudo easy_install PIL



Se puede encontrar una respuesta más sólida en install pil on virtualenv con libjpeg

Para mí, lo que finalmente funcionó en Ubutu fue:

pip uninstall PIL sudo apt-get install libjpeg8-dev pip install PIL

La biblioteca de imágenes de Python (PIL) parece muy exigente con la versión y la ubicación de las bibliotecas jpeg. Y como PIL está escrito en C y compilado, necesita las versiones de desarrollo de la biblioteca además de las versiones de tiempo de ejecución.


He encontrado esta respuesta del autor "Edward"

En Ubuntu preciso, PIL no encuentra los archivos de la biblioteca jpeg, ni siquiera una vez que están instalados. La forma más fácil de arreglar esto es hacer un enlace simbólico después de haber instalado el paquete jpeg dev. Entonces, necesitaba un paso adicional:

para x64 OS

pip uninstall PIL sudo apt-get install libjpeg8-dev sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib pip install PIL

para x32 OS

pip uninstall PIL sudo apt-get install libjpeg8-dev sudo ln -s /usr/lib/i386-linux-gnu/libjpeg.so /usr/lib pip install PIL

Confirmo que esto funciona para mí en Ubuntu Linux 12.04.

Si eres un usuario de Mac , necesitas instalar Xcode y Command Line Tools. Lee cómo hacer esto