2010-01-23 11 views
2

J'utilise Buildout pour mes projets Django, avec FeinCMS. Je l'ai très bien configuré localement sur Mac OSX Snow Leopard, sans aucune erreur quand j'utilise runserver. Mais quand je télécharge une image avec FeinCMS dans la zone d'administration, il arrive avec un "Exception Value: L'erreur _imaging C module n'est pas installé".Avoir "Valeur Exception: Le module _imaging C n'est pas installé" avec ma Buildout/Python/Django/PIL sous Mac OSX SL?

Mon retraçage est ici: http://dpaste.com/149492/

Mon fichier buildout.cfg ressemble à ceci:

[buildout] 
    parts = 
     zlib 
     libjpeg 
     PILwoTk 
     django-mptt 
     django-staticfiles 
     django 

    eggs = 
     PILwoTk 
     feincms 

    [zlib] 
    recipe = hexagonit.recipe.cmmi 
    url = http://www.zlib.net/zlib-1.2.3.tar.gz 
    configure-options = --shared 

    [libjpeg] 
    recipe = hexagonit.recipe.cmmi 
    url = http://www.ijg.org/files/jpegsrc.v8.tar.gz 

    [PILwoTk] 
    recipe = zc.recipe.egg:custom 
    find-links = http://download.zope.org/distribution/ 
    include-dirs = 
     ${zlib:location}/include 
     ${libjpeg:location}/include 
    library-dirs = 
     ${zlib:location}/lib 
     ${libjpeg:location}/lib 
    rpath = 
     ${zlib:location}/lib 
     ${libjpeg:location}/lib 

    [django-mptt] 
    recipe = infrae.subversion 
    urls = http://django-mptt.googlecode.com/svn/trunk/mptt mptt 

    [django-staticfiles] 
    recipe = mercurialrecipe 
    repository = http://bitbucket.org/jezdez/django-staticfiles/ 

    [django] 
    recipe = djangorecipe 
    version = 1.1.1 
    project = recoilmedia 
    eggs = ${buildout:eggs} 
    extra-paths = 
     ${django-mptt:location} 
     ${django-staticfiles:location} 

J'ai demandé au groupe FeinCMS, sur Django IRC/groupe, mais sans aucune aide de personne sur ce que cela peut être. J'ai cherché des solutions partout sur le net et je n'ai toujours pas trouvé celui qui fonctionne. Ça me plonge le long du mur, j'ai été coincé dessus toute la journée. Est-ce que quelqu'un sait peut-être quel est le problème?

Répondre

2

Je suis passé par la même chose aujourd'hui et j'ai trouvé une solution. Le problème est que PIL recherchera libjpeg 32 bits et que Snow Leopard compilera la bibliothèque en tant que x86_64 par défaut. Cela pourrait être résolu en modifiant votre section libjpeg pour ressembler à ceci:

[libjpeg] 
recipe = hexagonit.recipe.cmmi 
url = http://www.ijg.org/files/jpegsrc.v8.tar.gz 
environment = 
    CC=gcc -arch i386 

Vous pouvez vérifier quelle bibliothèque _imaging.so utilise en exécutant:

otool -L path/to/PIL/_imaging.so 

Il devrait afficher la ligne pointant vers libjpeg.8.dylib dans votre buildout annuaire.

Édition: Dans un second temps, l'exécution de buildout avec CC="gcc -arch i386" bin/buildout fonctionnera également. Si vous voulez compiler un gros binaire, n'oubliez pas d'utiliser GCC-4.0 et d'ajouter le CPP: CC="gcc-4.0 -arch i386 -arch ppc" CPP="gcc-4.0 -E" bin/buildout.

+0

C'est exactement ça. La médiathèque FeinCMS le rend un peu plus visible lorsque PIL n'est pas installé car il essaie de déterminer le type de fichier multimédia lors du téléchargement et examine le fichier lorsque l'extension indique qu'il s'agit d'une image. –