PIL prend en charge JPEG dans mon système.
Chaque fois que je fais un téléchargement, mon code échoue avec:
File "PIL/Image.py", line 375, in _getdecoder
raise IOError("decoder %s not available" % decoder_name)
IOError: decoder jpeg not available
Comment puis-je résoudre ça?
Réponses:
libjpeg-dev est requis pour pouvoir traiter les fichiers jpeg avec oreiller (ou PIL), vous devez donc l'installer puis recompiler l'oreiller. Il semble également que libjpeg8-dev soit nécessaire sur Ubuntu 14.04
Si vous utilisez toujours PIL, vous devriez vraiment utiliser un oreiller ces jours-ci, donc
pip uninstall PIL
avant de suivre ces instructions pour passer, ou si vous avez une bonne raison de rester avec PIL, puis remplacez "oreiller" par "PIL" ci-dessous ).Sur Ubuntu:
Si cela ne fonctionne pas, essayez l'une des options ci-dessous, selon que vous utilisez Ubuntu 64 bits ou 32 bits.
Pour Ubuntu x64:
Ou pour Ubuntu 32bit:
Réinstallez ensuite l'oreiller:
(Modifications pour inclure les commentaires des commentaires. Merci Charles Offenbacher pour avoir souligné que cela diffère pour 32 bits, et t-mart pour avoir suggéré l'utilisation de
--no-cache-dir
).la source
pip install
la première fois, mais les désinstallations et (ré) installations suivantes ont été étrangement rapides. Quoi qu'il en soit , les méthodes ci-dessus n'ont pas fonctionné pour moi jusqu'à ce que je courspip install --no-cache-dir pillow
. Bonne chance!Pour ceux sur OSX, j'ai utilisé le binaire suivant pour obtenir libpng et libjpeg installés à l'échelle du système:
libpng & libjpeg pour OSX
Parce que j'avais déjà installé PIL (via pip sur un virtualenv), j'ai couru:
Cela a résolu l'
decoder JPEG not available
erreur pour moi.MISE À JOUR (24/04/14) :
Les versions plus récentes de pip nécessitent des indicateurs supplémentaires pour télécharger les bibliothèques (y compris PIL) à partir de sources externes. Essayez ce qui suit:
Voir la réponse suivante pour plus d'informations: pip install PIL ne pas installer dans virtualenv
MISE À JOUR 2 :
Si sur OSX Mavericks, vous voudrez définir le
ARCHFLAGS
drapeau comme commentaires @RicardoGonzales ci - dessous :la source
C'est la seule façon qui a fonctionné pour moi. L'installation des packages et la réinstallation de PIL n'ont pas fonctionné.
Sur ubuntu, installez le package requis:
(vous pouvez également installer
libfreetype6 libfreetype6-dev zlib1g-dev
pour activer d'autres décodeurs).Remplacez ensuite PIL par un oreiller:
la source
pip install pillow --upgrade
.Les travaux suivis sur Ubuntu 12.04:
lorsque vous voyez "- Prise en charge JPEG disponible" cela signifie que cela fonctionne.
Mais, si cela ne fonctionne toujours pas lorsque vous modifiez votre image jpeg, vérifiez le chemin python !! mon chemin python a raté
/usr/local/lib/python2.7/dist-packages/PIL-1.1.7-py2.7-linux-x86_64.egg/
, donc je modifie l'~/.bashrc
ajout du code suivant à ce fichier:Éditer:
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/dist-packages/PIL-1.1.7-py2.7-linux-x86_64.egg/
alors enfin ça marche !!
la source
Sur Fedora 17, j'ai dû installer
libjpeg-devel
puis réinstallerPIL
:la source
La réponse de Rolo est excellente, mais j'ai dû réinstaller Pillow en contournant le cache pip (introduit avec pip 7) sinon il ne sera pas recompilé correctement !!! La commande est:
et vous pouvez voir si Pillow a été correctement configuré en lisant ceci dans les journaux:
comme vous pouvez le voir, le support pour jpg, tiff et ainsi de suite est activé, car j'ai précédemment installé les bibliothèques requises via apt (libjpeg-dev libpng12-dev libfreetype6-dev libtiff-dev)
la source
Sur Mac OS X Mavericks (10.9.3), j'ai résolu ce problème en procédant comme suit:
Installer libjpeg par brew (système de gestion de paquets)
réinstaller oreiller (j'utilise oreiller au lieu de PIL)
la source
brew unlink jpeg && brew link jpeg
avant d'installer Pillow.Installez-les et assurez-vous d'installer PIL avec pip car je l'ai compilé à partir de la source et pour une raison quelconque, cela n'a pas fonctionné
la source
J'utilisais déjà
Pillow
et j'ai eu la même erreur. J'ai essayé d'installerlibjpeg
oulibjpeg-dev
comme suggéré par d'autres, mais on m'a dit qu'une version (plus récente) était déjà installée.Au final, il n'a fallu que réinstaller
Pillow
:la source
Je suis trop novice pour commenter le post zeantsoi; (. Alors voici ce que je devais faire pour résoudre sur OSX le 10.9.1
1) installez les outils Xcode (ouvrez votre terminal et exécutez:)
xcode-select --install
- extrait de ce post: impossible d'installer PIL après Mac OS X 10.92) installez les packages libpng et libjpeg (programme d'installation combiné) à partir de ce lien: http://ethan.tira-thompson.com/Mac_OS_X_Ports.html
3) redémarrer (pas sûr que c'était obligatoire)
4) Réinstallez PIL avec run
pip install -I PIL
(comme j'avais initialement installé PIL avant d'avoir le problème)J'espère que cette aide et ne confondez pas plus ...
_oho
la source
Cette question a été publiée il y a un bon moment et la plupart des réponses sont également assez anciennes. Donc, quand j'ai passé des heures à essayer de comprendre cela, rien n'a fonctionné, et j'ai essayé toutes les suggestions de ce post.
J'obtenais toujours les erreurs JPEG standard lorsque j'essayais de télécharger un JPG sous ma forme d'avatar Django:
Ensuite, j'ai vérifié le référentiel pour Ubuntu 12.04 et j'ai remarqué des paquets supplémentaires pour
libjpeg
. J'ai installé ces derniers et mon problème a été résolu:L' installation de ces enlevés
libjpeg-dev
,libjpeg-turbo8-dev
etlibjpeg8-dev
.J'espère que cela aidera quelqu'un en 2015 et au-delà!
À votre santé
la source
Même problème ici,
JPEG support available
mais toujoursIOError: decoder/encoder jpeg not available
, sauf que j'utilise Pillow et non PIL.J'ai essayé tout ce qui précède et plus, mais après plusieurs heures, j'ai réalisé que l'utilisation
sudo pip install
ne fonctionne pas comme prévu, en combinaison avecvirtualenv
. Que je suis bête.Utiliser
sudo
efficacement lance la commande dans un nouveau shell (ma compréhension de cela peut ne pas être tout à fait correct) où virtualenv n'est pas activé, ce qui signifie que les packages seront installés à la place dans l'environnement global. (Cela a gâché les choses, je pense que j'avais 2 installations différentes de Pillow.)J'ai nettoyé les choses, changé d'utilisateur en root et réinstallé dans virtualenv et maintenant cela fonctionne.
J'espère que cela aidera quelqu'un!
la source
Pour Fedora
Installer les pré-requis
sudo dnf install make automake gcc gcc-c++ kernel-devel rpm-build libjpeg-devel zlib-devel python-devel
Installer maintenant Pillow
sudo pip install pillow
Remarque - Pour libjpeg et zlib, nous installons les packages libjpeg-devel et zlib-devel dans Fedora / CentOS / Red Hat
la source
J'ai d'abord dû supprimer les dossiers python dans le dossier caché user / appData (ce qui créait d'énormes maux de tête), en plus de désinstaller Python. J'ai ensuite installé WinPython Distribution: http://code.google.com/p/winpython/ qui inclut PIL
la source
Pour ceux sur Mac OS Mountain Lion, j'ai suivi la réponse de zeantsoi, mais cela ne fonctionne pas.
Je me suis finalement retrouvé avec la solution de ce post: http://appelfreelance.com/2010/06/libjpeg-pil-snow-leopard-python2-6-_jpeg_resync_to_restart/
Maintenant, je suis heureux d'exécuter mon script pour jpeg!
la source