2016-05-08 130 views
2

我就在谷歌應用程序引擎的雲使用PIL時收到錯誤谷歌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) 

的應用似乎本地加載的罰款。

我列出PIL作爲一個app.yaml的庫dependnecy部分

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

我也用過PIP安裝PIL -t/lib目錄將其保存到我的文件夾./lib地方發展

附加信息: 我使用PIL,因爲它是一個具有谷歌應用程序引擎的支持https://cloud.google.com/appengine/docs/python/tools/built-in-libraries-27

+1

IIRC你不需要上傳,因爲它可以遠程使用。本地你確實需要安裝它。 –

回答

0

你有效嘗試運行您的PIL庫,而不是提供一個副本(見文件路徑的成像庫我n堆棧跟蹤,其中包括您編輯的應用程序的詳細信息)。

不僅如此,你不需要上傳PIL lib中,你居然不應上傳爲提供的一個可能是特別定製的GAE Python的沙箱版本。

因此,請確保本地PIL安裝不會將庫或鏈接放置在應用程序目錄中的任何位置,以防止它被意外地出售到您的應用程序並隨其上傳。

1

從你自己安裝的lib文件夾中刪除PIL模塊。

app.yaml並粘貼此下庫段(如果沒有這整個一個貼) -

libraries: - name: PIL version: latest

調用由AppEngine上基於模塊 -

from PIL import Image