2

FeinCMS を使用して、Django プロジェクトに Buildout を使用しています。Mac OSX Snow Leopard でローカルにセットアップしたところ、runserver を使用してもエラーはまったく発生しませんでした。しかし、管理領域で FeinCMS を使用して画像をアップロードすると、「例外値: _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/グループで尋ねましたが、これが何であるかについて誰からもまったく助けがありませんでした。私は解決策をネット上で検索しましたが、まだ機能するものを見つけていません。それは私を壁に飛び込ませています、私は一日中立ち往生しています。問題が何であるかを知っている人はいますか?

4

1 に答える 1

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.dylibbuildout ディレクトリ内の を指す行を出力する必要があります。

編集:考え直して、 buildout を実行して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

于 2010-02-10T07:27:23.683 に答える