我在谷歌应用引擎中的云上使用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
答案 0 :(得分:1)
从您自己安装的lib文件夹中删除PIL模块。
转到app.yaml
并将其粘贴到库部分下(如果没有粘贴整个部分) -
libraries:
- name: PIL
version: latest
通过 -
调用基于appengine的模块 from PIL import Image
答案 1 :(得分:0)
您有效地尝试运行PIL库的副本而不是提供的副本(请参阅堆栈跟踪中的文件路径,其中包含您已编辑的应用程序的详细信息)。
不仅不需要上传PIL库,您实际上不应该上传它,因为提供的版本可能是专门为其定制的版本GAE python沙箱。
因此,请确保本地PIL安装不会在应用程序的目录内的任何位置放置库或链接,以防止它被意外地存入您的应用程序并随其上传。