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.
Para los usuarios de mac, puedes descargar la biblioteca desde aquí: http://ethan.tira-thompson.com/Mac_OS_X_Ports.html . Luego, desinstala e instala PIL
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
Puedes construir PIL desde la fuente: http://effbot.org/zone/pil-decoder-jpeg-not-available.htm
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