Je travaille sous Ubuntu 11.04. J'essaie de travailler avec Pil dans mon projet Django. Malheureusement, PIL ne peut pas charger mon image.
Voici le résumé de la configuration PIL: P>
>>> import PIL >>> import Image >>> import _imaging >>> i = Image.open("someimage.jpg") >>> i <JpegImagePlugin.JpegImageFile image mode=RGB size=600x599 at 0x9646C0C> >>> i.load() Traceback (most recent call last): File "<console>", line 1, in <module> File "/home/joseph/Desktop/thesis/env/lib/python2.7/site-packages/PIL/ImageFile.py", line 215, in load raise_ioerror(e) File "/home/joseph/Desktop/thesis/env/lib/python2.7/site-packages/PIL/ImageFile.py", line 52, in raise_ioerror raise IOError(message + " when reading image file") IOError: broken data stream when reading image file
3 Réponses :
sudo apt-get install libjpeg8-dev rebuild PIL and install again.
J'ai eu le même problème, mais malheureusement, nous utilisions Rhel qui n'avait que libjourg 6b. p>
Dépasser plus loin dans ce problème, cette erreur semble se produire lorsque vous utilisez une fonction JPEG qui n'est pas prise en charge dans la version de libjourg que vous utilisez. Dans mon cas, il s'agissait d'un codage arithmétique (introduit dans la version 7). P>
J'ai trouvé le page Wikipedia sur libjpeg pour être utile pour déterminer quels types de jpeg Les fichiers pourraient être ouverts par les versions. Alors ... p>
Mettez à niveau libjpeg si vous pouvez ou réaffiche vos images en tant que Baseline JPEG. P>
Utilisez Oreiller et Signaler des problèmes comme ils se produisent et l'équipe d'oreiller les fixera. Points bonus pour avoir soumis une demande de traction avec votre rapport de problème. Voir aussi: https://stackoverflow.com/a/7770547/185820 p>
Êtes-vous sûr que ce fichier image est correct? Être capable de le considérer dans un autre programme n'est pas nécessairement suffisant. Pouvez-vous utiliser des autres images sans erreurs?
Oui, ce fichier image est correct. PNG fonctionne bien mais JPEG ne le fait pas. J'utilise libjpeg8b BTW.