2010-03-19 12 views
7

J'essaye d'exécuter une application web/site sur ma machine, elle fonctionne sur OSX 10.6.2 et j'ai quelques problèmes:Erreur Django/PIL - Attrapé une exception lors du rendu: Le module _imagingft C n'est pas installé

Caught an exeption while rending: The _imagingft C module is not installed 

Faire _imagingft à l'importation en python me donne ceci:

>>> import _imagingft 
Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
ImportError: dlopen(/Library/Python/2.6/site-packages/PIL/_imagingft.so, 
2): Symbol not found: _FT_Done_Face 
Referenced from: /Library/Python/2.6/site-packages/PIL/_imagingft.so 
Expected in: flat namespace 
in /Library/Python/2.6/site-packages/PIL/_imagingft.so 

Il est semble que la bibliothèque Freetype est celui des problèmes. Aucune erreur jusqu'à présent lors de l'installation de PIL ou lorsque j'ai compilé (?) Les bibliothèques jpeg et freetype jusqu'à présent.

Je suis sur django 1.1.1, python 2.6.2.

+0

comment avez-vous installé PIL? –

+0

J'ai eu la même erreur en cours d'exécution PIL 1.1.7 pour Python 2.6 sur XP. Si aucune solution n'a fonctionné, essayez plutôt PIL 1.1.6. –

+0

@Dmitry En utilisant sudo python setup.py install – kenok

Répondre

3

J'ai aussi eu ce problème. Impossible de le résoudre avec PIL 1.1.6 ni avec PIL 1.1.7. J'ai installé py26-pil à partir des ports et hop, ça marche.

sudo port install py26-pil 

Si vous ne disposez pas de ports, allez à http://www.macports.org/

1

Avec des erreurs comme celles-ci, c'est généralement parce que l'une des dépendances PIL n'a pas été compilée pour être binaire universelle.

Essayez ceci:

  1. Téléchargez le cadre de Freetype à this website
  2. Télécharger le package pour libjpeg8 à this website
  3. Supprimer les fichiers que vous avez installé pour libjpeg et freetype
  4. Installez le nouveau packages
  5. Supprimer votre dossier de construction pour PIL
  6. Reconstruisez et installez PIL

Mais si vous voulez d'abord essayer la compilation binaire universelle, soyez mon invité. Mon problème spécifique était en fait avec libjpeg, et peu importe comment je l'ai compilé, PIL barrait sur import _imaging. J'ai donc opté pour des versions packagées. Je ne pense pas que libjpeg ou freetype profitent spécifiquement de leur compilation.

package libjpeg8 installe dans/usr/package local/lib

freetype installe à votre dossier/Library/Frameworks.

0

L'environnement est pas configuré correctement pour construire les OS X PIL \ binaires libjpeg en utilisant easy_install. Ce guide devrait aider http://fightingrabbits.com/archives/266 - Il est pour l'installation de Python/Django mais passe d'abord par l'installation PIL nécessaire et fonctionne pour moi sur 10.6.x

9

Avant (re) installer PIL ajouter les sysmlinks suivantes pour activer freetype sur Mac 10.6 Snow Leopard:

ln -s /usr/X11/include/freetype2 /usr/local/include/ 
ln -s /usr/X11/include/ft2build.h /usr/local/include/ 
ln -s /usr/X11/lib/libfreetype.6.dylib /usr/local/lib/ 
ln -s /usr/X11/lib/libfreetype.6.dylib /usr/local/lib/libfreetype.dylib 
+1

travaille dans lion aussi! – priestc

+0

Il semble que les fichiers déjà présents dans/usr/local/lib/se trouvent dans i386 alors que ceux dans/usr/X11/lib/sont dans x86-64. Donc, supprimer les anciens et symlinking aux nouveaux fait le tour. Merci! – Devang