2009-12-08 5 views
0

Je suivais les instructions suivantes:des difficultés à installer PIL dans Snow Leopard

http://proteus-tech.com/blog/cwt/install-pil-in-snow-leopard/

Et tout se passe comme décrit.

Cependant, à la fin, j'ai essayé de courir:

python selftest.py 

pour vérifier que tout fonctionne correctement, mais je reçois:

*** The _imaging C module is not installed 

Je lance alors l'interpréteur python et essayé:

import _imaging 

et obtenir cette erreur:

Traceback (most recent call last): File "", line 1, in ImportError: dlopen(/Library/Python/2.6/site-packages/PIL/_imaging.so, 2): Symbol not found: _jpeg_resync_to_restart Referenced from: /Library/Python/2.6/site-packages/PIL/_imaging.so Expected in: flat namespace in /Library/Python/2.6/site-packages/PIL/_imaging.so

Ceci est sur mon premier Mac, alors excusez-moi si je manque quelque chose d'évident, mais toute aide que vous pourriez fournir serait grandement appréciée.

Merci!

Répondre

1

Le problème se produit car jpeglib n'est pas disponible dans le cadre de la distribution standard de Mac OS X pour Leopard et Snow Leopard.

La solution est la suivante: - compiler lib jpeg - assurez-vous tha libjpeg62.dylib est disponible sur votre DYLD_LIBRARY_PATH (vous voudrez peut-être le mettre dans des endroits comme/usr/local/lib)

utiles instructions sont disponibles here

+0

Merci. J'ai suivi ces instructions, mais quand je lance: Pip installer http://effbot.org/downloads/Imaging-1.1.6.tar.gz Je reçois: -bash: pip: command not found Qu'est-ce que pip et comment puis-je entrer sur mon Mac? Encore une fois, excuses pour les questions simplistes (comme je suis encore très nouveau à tout cela). – ryan

+0

Ok, ça ne me dérange pas, j'ai pip pip running. Une autre question pour vous: J'ai navigué vers/usr/local/lib et j'ai vu les fichiers suivants: libjpeg.7.dylib, libjpeg.a, libjpeg.dylib, libjpeg.la, mais pas libjpg62.dylib. Savez-vous où ce fichier est installé par défaut (ou comment je peux le trouver et le déplacer dans ce dossier) – ryan

+0

J'ai déjà utilisé libjpeg62.dylib. Je pense que je ne suis jamais allé à la version 7. Les fichiers Unix .so sont connus sous le nom de fichiers .dylib dans le monde MAC. Dans votre cas, c'est le libjpeg.7.dylib qui devrait être pertinent. Je suppose que c'est la version 7 de JPEG LIB. L'installation s'est faite au bon endroit qui est/usr/local/lib. C'est là où il est installé quand vous lancez $ make install.En tant que tel, vous pouvez avoir les bibliothèques dynamiques n'importe où dans votre système de fichiers tant que ces répertoires se trouvent dans votre variable d'environnement DYLD_LIBRARY_PATH. J'espère que cela t'aides. –

0

Ok, ça a marché grâce à l'aide de Shailesh. Tout d'abord, j'ai couru ceci:

otool -L /Library/Python/2.6/site-packages/PIL/_imaging.so

pour voir où les dépendances étaient. J'ai supprimé ces références à libjpeg, puis recompilé libjpeg et PIL (en suivant les instructions dans le lien ci-dessous) et tout a fonctionné.

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