PIL ne pas importer de l'_imaging module C: “*** Le _imaging C module n'est pas installé”
Un peu de fond de la PIL setup.py construire:
--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version 1.1.7
platform linux2 2.6.2 (release26-maint, Apr 19 2009, 01:58:18)
[GCC 4.3.3]
--------------------------------------------------------------------
*** TKINTER support not available
--- JPEG support available
--- ZLIB (PNG/ZIP) support available
--- FREETYPE2 support available
*** LITTLECMS support not available
--------------------------------------------------------------------
C'est sur une Ubuntu 9.04 installation.
J'ai seulement besoin de PIL pour permettre à Django de télécharger et de redimensionner des images différentes (de différents formats). Malheureusement, il ne peut pas traiter des fichiers Jpeg. Après l'exécution du PIL selftest.py il est venu avec cette:
*** The _imaging C module is not installed
J'ai essayé de l'importation de l'Image et _imaging à l'aide de python-v interprète (qui travaille tous les deux)...
>>> from PIL import Image
import PIL # directory PIL
# PIL/__init__.pyc matches PIL/__init__.py
import PIL # precompiled from PIL/__init__.pyc
# PIL/Image.pyc matches PIL/Image.py
import PIL.Image # precompiled from PIL/Image.pyc
[continue avec succès pendant un certain temps]
>>> import _imaging
dlopen("/usr/local/lib/python2.6/dist-packages/PIL/_imaging.so", 2);
import _imaging # dynamically loaded from /usr/local/lib/python2.6/dist-packages/PIL/_imaging.so
Donc _imaging est disponible lors de l'utilisation de l'interpréteur python, mais pour une raison quelconque n'a pas été correctement importés dans d'autres instances.
J'ai été à la recherche de solutions à ce problème depuis plusieurs heures et je n'ai pas de venir plus près de trouver un. Ai-je raté quelque chose d'évident? Ou il y a des idées pour lesquelles il n'est pas de travail?
Merci d'avance!
Aussi: je suis conscient de http://effbot.org/zone/pil-imaging-not-installed.htm mais qui démontre seulement l'erreur, et n'apporte aucune solution.
EDIT: j'ai été fouiner et il semble que l'importation de _imagingmath est le problème. Je n'ai python -vv selftest.py pour voir où il était en rupture, et c'est ce qui s'est passé:
dlopen("/usr/local/lib/python2.6/dist-packages/PIL/_imagingmath.so", 2);
import _imagingmath # dynamically loaded from /usr/local/lib/python2.6/dist-packages/PIL/_imagingmath.so
*** The _imaging C module is not installed
# clear __builtin__._
[etc. etc. etc.]
OriginalL'auteur J.P. | 2010-11-06
Vous devez vous connecter pour publier un commentaire.
Il semble qu'avant j'ai installé PIL, je n'ai pas eu de libjpeg installé. J'ai donc installé libjpeg-62 et libjpeg62-dev, puis réinstallé PIL. La même erreur s'est produite
J'ai trouvé une solution sur un autre site, ce qui suggère que je me force à reconstruire PIL à partir de la source:
Ce jeta quelques pièces intéressantes de l'information au sujet de cette erreur (si vous rencontrez ce problème aussi). Il semble que gcc n'est pas la compilation de divers fichiers correctement (j'ai gcc4.3.3), à savoir les suivantes:
(tout le reste semble très bien)
J'ai fait un peu de recherche sur ce sujet et sur d'autres sites suggèrent que c'est parce que la version de gcc que j'utilise pour construire la LIP est différente de la version utilisée pour construire le python.org Python que j'utilise. Cela fait beaucoup de sens. Voici l'autre question, j'ai trouvé que suggère cette.
Enfin, j'ai essayé une dernière installer, mais cette fois à partir du référentiel, par opposition à la tar j'ai téléchargé. Cela semble avoir résolu le problème.
Bien que je n'ai pas totalement répondu à l'origine de problème, j'ai trouvé une solution alternative, et nous espérons que les informations ci-dessus seront en mesure d'aider quelqu'un d'autre dans cette situation!
OriginalL'auteur J.P.
J'ai résolu ce problème en installant le développement de libjpeg:
Puis ré-installer le module PIL tout à fait.
(Je suis en utilisant un environnement virtuel, mais il devrait fonctionner tout aussi bien lancer Python standard)
OriginalL'auteur Guillaume Piot
Vous n'avez pas installé le libjpeg de la bibliothèque. Ce faire:
et de ré-exécuter le paiement tenant lieu d'installation.
avez-vous des libjpeg62-devel?
Nope, j'ai libjpeg62 et libjpeg62-dev.
J'ai ajouté plus de détails sur la façon dont il ne parvient pas à la question
J'ai trouvé une solution alternative à ce problème, et de l'avoir ajouté à la question. Merci pour ces suggestions!
OriginalL'auteur Daniel Roseman