1

python2.6で実行されているweb2pyがインストールされたAmazon EC2でサーバーを実行しています。私のプロジェクトには、Python Imaging Library を使用してインストールした画像処理を含む複数の関数があります。

pip install pil

インストールは成功し、ファイルはフォルダーusr/lib/python2.6/dist-packages にあります。

Pythonシェルで次のコードを実行できます

import Image
import _imaging

しかし、これを web2py 内で行うと、「インポート エラー」が返されます。代わりに、私はこれを行うことができます

from PIL import Image

しかし、これではありません

from PIL import _imaging

さらに Image.thumbnail() 関数が返す

"no _imaging C module is installed"

それでも、これはシェル内で正常に実行されます。

モジュールは Web2py には登録されておらず、python2.6 のみに登録されているようです。web2py は python2.6 で実行されるため、これは非常に奇妙です。

誰か助けてくれませんか?ありがとうございました!

4

1 に答える 1

0

最初に確認することは、Python パスです。デバッガーを使用するか、単に結果を web2py サーバー ログに出力して、パスの内容を確認し、それが期待どおりかどうかを確認します。

import sys
print sys.path

Web2py は Python パスを変更するので、あなたが思っているライブラリ/バージョンを取得していない可能性があります。

于 2014-08-21T18:21:26.353 に答える