Google App Engine PIL支持

时间:2016-05-08 04:51:35

标签: google-app-engine python-imaging-library

我在谷歌应用引擎中的云上使用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 libraries部分的依赖性

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

我还使用pip install PIL -t / lib将其保存到我的./lib文件夹中进行本地开发

其他信息: 我正在使用PIL,因为它是一个具有谷歌应用引擎支持的成像库https://cloud.google.com/appengine/docs/python/tools/built-in-libraries-27

2 个答案:

答案 0 :(得分:1)

从您自己安装的lib文件夹中删除PIL模块。

转到app.yaml并将其粘贴到库部分下(如果没有粘贴整个部分) -

libraries: - name: PIL version: latest

通过 -

调用基于appengine的模块

from PIL import Image

答案 1 :(得分:0)

您有效地尝试运行PIL库的副本而不是提供的副本(请参阅堆栈跟踪中的文件路径,其中包含您已编辑的应用程序的详细信息)。

不仅不需要上传PIL库,您实际上不应该上传它,因为提供的版本可能是专门为其定制的版本GAE python沙箱。

因此,请确保本地PIL安装不会在应用程序的目录内的任何位置放置库或链接,以防止它被意外地存入您的应用程序并随其上传。