2016-05-08 20 views
2

のGoogleのApp Engineでクラウド上PILを使用しているとき、私はエラーを取得していますGoogle App EngineのPILサポート

ImportError: cannot import name _imaging 
at <module>():66 (Image.py:66 in /base/data...../lib/PIL) 
at <module>():6 (storage.py:6 in /base/data/home/...../modules/common) 
.... 
at <module>():1 (main.py:1 in /base/data/home/apps/..../....456) 

アプリケーションがローカルに罰金ロードするように思えます。

私はまた、地域の発展のために私の./libフォルダに

を、それを保存するためにPILの-t/libがピップインストールに使用app.yamlをライブラリセクション

libraries: 
- name: webapp2 
version: latest 
- name: jinja2 
version: latest 
- name: PIL 
version: "1.1.7" 

でdependnecyとしてPILを一覧表示します追加情報: Googleのアプリケーションエンジンをサポートする画像ライブラリであるため、PILを使用していますhttps://cloud.google.com/appengine/docs/python/tools/built-in-libraries-27

+1

とにかくリモートで利用できるようにIIRCにアップロードする必要はありません。ローカルにインストールする必要があります。 –

答えて

0

PILライブラリのコピーは、提供されているものではなく効果的に実行しようとしていますスタックトレース。編集したアプリの詳細が含まれています。提供される一つの可能​​性が高い、具体的GAEのPythonのサンドボックス用にカスタマイズされたバージョンであるよう

だけでなく、あなたはPILのlibがアップロードする必要はありませんことを、あなたは実際にはそれをアップロードしてはいけません。

ローカルのPILインストールでは、誤ってアプリケーションに組み込まれてアップロードされるのを防ぐため、ローカルPILインストールでライブラリのライブラリやリンクをアプリのディレクトリのどこにも配置しないようにしてください。

1

自分でインストールしたlibフォルダからPILモジュールを削除します。

app.yamlに移動し、(1つのペースト、この全体が存在しない場合)のライブラリセクションの下にこれを貼り付ける -

libraries: - name: PIL version: latest

コールによってAppEngineのベースモジュール -

from PIL import Image