2

J'ai installé libjpeg et PIL, mais lorsque je tente d'enregistrer une image JPG, je reçois toujours cette erreur:Snow Leopard Python 2.6 problèmes pour PIL de travailler

ImportError: Le module _imaging C est pas installé

Toute aide très appréciée!

J'ai essayé d'importer _imaging w/interpréteur Python pour voir ce qui ne va pas et a obtenu ceci:

>>> import _imaging 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/PIL/_imaging.so, 2): Symbol not found: _jpeg_resync_to_restart 
    Referenced from: /Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/PIL/_imaging.so 
    Expected in: dynamic lookup 

Répondre

4

Je viens de frapper ce aussi bien sur SL, et le problème est probablement votre libjpeg a été construit sans une architecture correspondant. En supposant que vous utilisez MacPorts, exécutez file /opt/local/lib/libjpeg.dylib. La bonne façon est de tout construire avec MacPorts comme +universal, voir Universal Binaries in MacPorts en ce qui concerne les dépendances PIL.

+0

merci, je pense que vous avez raison, je vais vérifier et vérifier – resopollution

2

Edit: Merci pour le message d'erreur ajouté. C'est apparemment un problème avec le jpeglib sur Snow Leopard. Avez-vous essayé cela?

http://jetfar.com/libjpeg-and-python-imaging-pil-on-snow-leopard/

+0

J'ai suivi ce lien vers le point et je reçois toujours cette erreur :(- il semble que ce que j'essaie je ne peux pas obtenir ce travail, essayé plusieurs sources sur google déjà – resopollution

+0

J'ai également installé libjpeg7, libjpeg6 (Je n'ai désinstallé aucune version - peut-être est-ce la raison pour laquelle?). – resopollution

+1

Comment avez-vous installé ces bibliothèques et à quel emplacement? Il est probable que cet emplacement ne se trouve pas dans le chemin de recherche de chargement dynamique. .framework/Versions/2.6/lib/python2.6/site-packages/PIL/_imaging.so –

4

Beaucoup de ces erreurs se produisent lors de la compilation depuis la source lorsque vous avez déjà installé des outils python à partir de fink ou de ports. Par exemple, l'erreur _jpeg_resync_to_restart peut se produire lorsque vous avez des fichiers libjpeg restants dans /opt/local/lib. Essayez ceci:

cd /opt/local/lib 
sudo rm *jpeg* 

recompiler ensuite libjpeg (en commençant par make clean), puis recompiler PIL (en commençant par rm -Rf build). Par la suite, import _imaging devrait fonctionner. A fait pour moi quand même.

+0

Cela a fonctionné pour moi, cependant, j'ai aussi eu des conflits avec l'installateur de paquets fink, qui installe les fichiers dans/sw. J'ai aussi trouvé la réponse suivante pour être utile: http://stackoverflow.com/questions/8404956/installing-pil-with- jpeg-support-on-mac-os-x –