2

私はコンソールで実行すると完全に正常に機能するコードを持っていますが、アプリエンジンで実行しようとするとコードは実行されません。アプリケーションエンジンのPythonで画像を開く

from lib.PIL import Image 
import urllib, cStringIO 
@endpoints.method(ImageCreateRequest, DummyResponse, http_method='POST', name='image_create') 
def image_create(self, request): 
    file = cStringIO.StringIO(urllib.urlopen(URL).read()) 
    img = Image.open(file) 
    img.load() 
    return DummyResponse(
     response=str(img.size) 
    ) 

私は_new

new.mode = im.mode 

AttributeError: 'NoneType' object has no attribute 'mode' 

編集次のエラーを取得する:正確なトレースバック

Encountered unexpected error from ProtoRPC method implementation: AttributeError ('NoneType' object has no attribute 'mode') 

Traceback (most recent call last): 
File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/protorpc-1.0/protorpc/wsgi/service.py", line 181, in protorpc_service_app 
response = method(instance, request) 
File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/endpoints-1.0/endpoints/api_config.py", line 1331, in invoke_remote 
return remote_method(service_instance, request) 
File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/protorpc-1.0/protorpc/remote.py", line 414, in invoke_remote_method 
response = method(service_instance, request) 
File "/base/data/home/apps/myproj/1.392969200987483659/post_api.py", line 100, in image_create 
img = Image.open(file) 
File "/base/data/home/apps/myproj/1.392969200987483659/lib/PIL/Image.py", line 1969, in open 
if init(): 
File "/base/data/home/apps/myproj/1.392969200987483659/lib/PIL/Image.py", line 355, in init 
__import__(f, globals(), locals(), []) 
File "/base/data/home/apps/myproj/1.392969200987483659/lib/PIL/PalmImagePlugin.py", line 92, in <module> 
Palm8BitColormapImage = build_prototype_image() 
File "/base/data/home/apps/myproj/1.392969200987483659/lib/PIL/PalmImagePlugin.py", line 82, in build_prototype_image 
image = Image.new("L", (1,len(_Palm8BitColormapValues),)) 
File "/base/data/home/apps/myproj/1.392969200987483659/lib/PIL/Image.py", line 1763, in new 
return Image()._new(core.fill(mode, size, color)) 
File "/base/data/home/apps/myproj/1.392969200987483659/lib/PIL/Image.py", line 463, in _new 
new.mode = im.mode 

はAttributeError: 'NoneType' オブジェクトが属性 'モード' がありません

私はあまりにも単純なものがコンソールでは動作するが、アプリケーションエンジンでは動作しない理由はあまりよく分かりません。何か案が?

おかげ

+0

(1つのペースト、この全体が存在しない場合)

はapp.yamlをとライブラリ]セクションの下にこれを貼り付けるために行きますローカルではあるが本番環境では動作しない場合、本番環境でサポートされていないライブラリを使用している可能性があります。 –

+0

正確なトレースバックを追加する必要があります。表示されたコードは、表示されたエラー/ステートメントと一致しません。 –

+0

あなたの答えをありがとう、私は今、完全なトレースバックを追加し、それが助けてくれることを願っています。 –

答えて

1

それは生産の問題である場合は、これを試してみてください - あなたがあなた自身にインストールlibフォルダからPILモジュールを取り外します。

libraries: - name: PIL version: latest

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

from PIL import Image 
+0

ありがとう。私はあまりにも理由がわからないにもかかわらず、これはうまくいった。私はかなり新しいアプリエンジンですが、libインポートとアプリエンジンベースのモジュールインポートの違いはまだ分かりません。 –

+1

@AlWld app-engine経由で効率的に動作するために、独立したビルドからいくつかの変更を加えたライブラリがいくつかあります。 https://cloud.google.com/appengine/docs/python/tools/built-in-libraries-27に記載されているものを除いて他のすべてのライブラリのlibフォルダにpipをインストールする必要があります – minocha

+0

すごくありがとう多く! –

関連する問題