2010-01-23 52 views
2

我正在爲我的Django項目和FeinCMS使用Buildout。我在Mac OSX Snow Leopard上本地安裝了它,在使用runserver時完全沒有出現錯誤。但是,當我在管理區域上傳一個帶有FeinCMS的圖像時,會出現一個 「異常值:_imaging C模塊未安裝」錯誤。在Mac OSX SL上使用我的Buildout/Python/Django/PIL具有「異常值:_imaging C模塊未安裝」?

我回溯是在這裏:http://dpaste.com/149492/

我buildout.cfg文件看起來像這樣:

[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} 

我問上FeinCMS組,在Django的IRC /組,但與任何人絕對沒有幫助這可能是什麼。我在網上搜索瞭解決方案,但仍未找到可行的解決方案。它把我淹沒在牆上,我整天都在被它困住。有人可能知道問題是什麼嗎?

回答

2

我今天經歷過同樣的事情,發現了一個解決方案。問題是PIL將查找32位libjpeg,Snow Leopard默認將該庫編譯爲x86_64。這可以通過修改libjpeg的部分被固定成這樣:

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

您可以檢查哪些庫_imaging.so使用由運行:

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

它應該輸出在擴建指向libjpeg.8.dylib行目錄。

編輯:第二個想法是,CC="gcc -arch i386" bin/buildout運行構建也將起作用。如果您想編譯胖二進制文件,請記住使用GCC-4.0並添加CPP:CC="gcc-4.0 -arch i386 -arch ppc" CPP="gcc-4.0 -E" bin/buildout

+0

就是這樣。當未安裝PIL時,FeinCMS媒體庫使其更清晰可見,因爲它試圖確定上載時的媒體文件類型,並在擴展名爲圖像時查看該文件。 –

相關問題