昨天我更新了我的google cloud SDK和python运行时。现在,我可以在SDK中本地运行的一个应用程序抱怨PIL / Python图像库不可用:
bash-3.2$ dev_appserver.py . --host=0.0.0.0
INFO 2014-05-31 17:07:52,313 devappserver2.py:706] Skipping SDK update check.
WARNING 2014-05-31 17:07:52,319 api_server.py:378] Could not initialize images API; you are likely missing the Python "PIL" module.然而,事实并非如此。我确实安装了PIL,它可以顺利地与jpegs一起工作,这是我所期望的:
bash-3.2$ ipython
Python 2.7.5 (default, Mar 9 2014, 22:15:05)
In [1]: from PIL import Image
In [2]: my_image = Image.open('motorcycle.jpg')
In [3]: my_image.show()工作得很好。仅供参考,我声明我的app.yaml对PIL的使用如下:
libraries:
...
- name: webapp2
version: latest
- name: PIL
version: latest我测试过了,所以不是假阴性。当我尝试使用GAE图像模块时,它遇到了同样的问题。它在生产中工作得很好。显然,Python已经具备了工作所需的条件。为什么App Engine无法使用它?
发布于 2014-09-25 00:15:59
我遇到的问题是安装的python的brew版本与系统版本之间的冲突。修复我的shell路径以指向正确的python安装也解决了这个问题。对于GAE用户:我还必须确保我的应用引擎SDK路径也是正确的。
如果您在安装或运行PIL时遇到问题,请了解PIL涉及的许多依赖项,包括您希望支持的文件格式编解码器(有一个PNG库、一个TIFF库和一个JPEG库),以及您是否希望在图像中绘制文本并需要通过freetype库支持truetype字体。要知道,您可能安装了PIL,但没有编解码器支持库,实际上PIL将无法使用。
这个问题的一个很好的起点可能是另一个问题:
https://stackoverflow.com/questions/23973182
复制相似问题