PIL admite JPEG en mi sistema.
Cada vez que hago una carga, mi código falla con:
File "PIL/Image.py", line 375, in _getdecoder
raise IOError("decoder %s not available" % decoder_name)
IOError: decoder jpeg not available
¿Cómo puedo resolver esto?
Respuestas:
Se necesita libjpeg-dev para poder procesar archivos JPEG con la almohada (o PIL), por lo que debe instalarlo y luego volver a compilar la almohada. También parece que se necesita libjpeg8-dev en Ubuntu 14.04
Si todavía está usando PIL, entonces realmente debería estar usando una almohada en estos días, así que primero
pip uninstall PIL
antes de seguir estas instrucciones para cambiar, o si tiene una buena razón para quedarse con PIL, reemplace "almohada" con "PIL" en la parte inferior. )En Ubuntu:
Si eso no funciona, intente uno de los siguientes, dependiendo de si está en Ubuntu de 64 bits o 32 bits.
Para Ubuntu x64:
O para Ubuntu 32bit:
Luego reinstale la almohada:
(Las ediciones incluyen comentarios de los comentarios. Gracias Charles Offenbacher por señalar que esto difiere para 32 bits, y t-mart por sugerir el uso de
--no-cache-dir
).fuente
pip install
la primera vez, pero luego las desinstalaciones y (re) instalaciones posteriores fueron sospechosamente rápidas. De todos modos , los métodos anteriores no funcionaron para mí hasta que corrípip install --no-cache-dir pillow
. ¡Buena suerte!Para aquellos en OSX, utilicé el siguiente binario para instalar libpng y libjpeg en todo el sistema:
libpng y libjpeg para OSX
Como ya tenía PIL instalado (a través de pip en un virtualenv), ejecuté:
Esto resolvió el
decoder JPEG not available
error para mí.ACTUALIZACIÓN (24/4/14) :
Las versiones más recientes de pip requieren marcas adicionales para descargar bibliotecas (incluido PIL) de fuentes externas. Intenta lo siguiente:
Consulte la siguiente respuesta para obtener información adicional: pip install PIL dont install in virtualenv
ACTUALIZACIÓN 2 :
Si está en OSX Mavericks, querrá establecer la
ARCHFLAGS
bandera como @RicardoGonzales comenta a continuación :fuente
Esta es la única forma que funcionó para mí. Instalar paquetes y reinstalar PIL no funcionó.
En ubuntu, instale el paquete requerido:
(es posible que también desee instalar
libfreetype6 libfreetype6-dev zlib1g-dev
para habilitar otros decodificadores).Luego reemplace PIL con almohada:
fuente
pip install pillow --upgrade
.Lo siguiente funciona en Ubuntu 12.04:
cuando vea "- Soporte JPEG disponible", eso significa que funciona.
Pero, si aún no funciona cuando editas tu imagen jpeg, ¡comprueba la ruta de Python! mi ruta de python se perdió
/usr/local/lib/python2.7/dist-packages/PIL-1.1.7-py2.7-linux-x86_64.egg/
, así que edito el~/.bashrc
código siguiente y lo agrego a este archivo:Editar:
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/dist-packages/PIL-1.1.7-py2.7-linux-x86_64.egg/
entonces, finalmente, ¡funciona!
fuente
En Fedora 17 tuve que instalar
libjpeg-devel
y luego reinstalarPIL
:fuente
La respuesta de Rolo es excelente, sin embargo, tuve que reinstalar Pillow pasando por alto el caché de pip (introducido con el pip 7) de lo contrario no se volverá a compilar correctamente. El comando es:
y puede ver si Pillow se ha configurado correctamente leyendo en los registros esto:
como puede ver, el soporte para jpg, tiff, etc. está habilitado, porque anteriormente instalé las bibliotecas necesarias a través de apt (libjpeg-dev libpng12-dev libfreetype6-dev libtiff-dev)
fuente
En Mac OS X Mavericks (10.9.3), resolví esto haciendo lo siguiente:
Instalar libjpeg by brew (sistema de gestión de paquetes)
reinstalar la almohada (uso almohada en lugar de PIL)
fuente
brew unlink jpeg && brew link jpeg
antes de instalar Pillow.Instale estos y asegúrese de instalar PIL con pip porque lo compilé desde la fuente y por alguna razón no funcionó
fuente
Ya estaba usando
Pillow
y obtuve el mismo error. Intenté instalarlibjpeg
olibjpeg-dev
según lo sugerido por otros, pero me dijeron que ya había instalada una versión (más nueva).Al final todo lo que tomó fue reinstalar
Pillow
:fuente
Soy demasiado novato para comentar la publicación de zeantsoi; (. Así que aquí está lo que tenía que hacer para resolver en OSX en 10.9.1 el
1) instale las herramientas de Xcode (abra su terminal y ejecute:)
xcode-select --install
- tomado de esta publicación: No se puede instalar PIL después de Mac OS X 10.92) instale el paquete libpng y libjpeg (instalador combinado) desde este enlace: http://ethan.tira-thompson.com/Mac_OS_X_Ports.html
3) reiniciar (no estoy seguro de que fuera obligatorio)
4) Vuelva a instalar PIL con run
pip install -I PIL
(como había instalado inicialmente PIL antes de tener el problema)Espero que esto ayude y no confunda más ...
_oho
fuente
Esta pregunta se publicó hace bastante tiempo y la mayoría de las respuestas también son bastante antiguas. Entonces, cuando pasé horas tratando de resolver esto, nada funcionó, e intenté todas las sugerencias en esta publicación.
Todavía recibía los errores JPEG estándar al intentar cargar un JPG en mi formulario de avatar de Django:
Luego revisé el repositorio para Ubuntu 12.04 y noté algunos paquetes adicionales para
libjpeg
. Instalé estos y mi problema se resolvió:La instalación de estos removidos
libjpeg-dev
,libjpeg-turbo8-dev
ylibjpeg8-dev
.¡Espero que esto ayude a alguien en el año 2015 y más allá!
Salud
fuente
El mismo problema aquí,
JPEG support available
pero aún asíIOError: decoder/encoder jpeg not available
, excepto que uso Pillow y no PIL.Intenté todo lo anterior y más, pero después de muchas horas me di cuenta de que usarlo
sudo pip install
no funciona como esperaba, en combinación convirtualenv
. Tonto de mí.Usar
sudo
efectivamente inicia el comando en un nuevo shell (mi comprensión de esto puede no ser del todo correcta) donde virtualenv no está activado, lo que significa que los paquetes se instalarán en el entorno global. (Esto arruinó las cosas, creo que tenía 2 instalaciones diferentes de Pillow).Limpié las cosas, cambié el usuario a root y lo reinstalé en virtualenv y ahora funciona.
¡Espero que esto ayude a alguien!
fuente
Para Fedora
Instalar requisito previo
sudo dnf install make automake gcc gcc-c++ kernel-devel rpm-build libjpeg-devel zlib-devel python-devel
Ahora instale Pillow
sudo pip install pillow
Nota - Para libjpeg y zlib estamos instalando paquetes libjpeg-devel y zlib-devel en Fedora / CentOS / Red Hat
fuente
Primero tuve que eliminar las carpetas de Python en la carpeta oculta user / appData (que estaba creando grandes dolores de cabeza), además de desinstalar Python. Luego instalé WinPython Distribution: http://code.google.com/p/winpython/ que incluye PIL
fuente
Para aquellos en Mac OS Mountain Lion, seguí la respuesta de zeantsoi, pero no funciona.
Finalmente terminé con la solución de esta publicación: http://appelfreelance.com/2010/06/libjpeg-pil-snow-leopard-python2-6-_jpeg_resync_to_restart/
¡Ahora estoy felizmente ejecutando mi script para jpeg!
fuente