在Google云应用引擎中使用pygame
我正在尝试在我的Google App Engine应用中加入一个PyGame库:
> import pygame
但是我遇到了一个导入错误:
> from pygame.base import *
ImportError: No module named base
我该怎么导入它呢?
2 个回答
1
稍微解释一下:Joe提供的链接是一些第三方库的列表,这些库是Google已经安装好的,可以供你使用,但这可能不是pygame无法工作的原因。举个例子,我在大多数App Engine项目中使用SendGrid和Flask,它们运行得很好,尽管不在那个列表上(我只需要在每个新项目中手动添加它们)。
关于pygame:
一些依赖于ctags或与其他C库连接的库,和GAE的工作方式不兼容。很有可能pygame的某些部分依赖于第三方库(可能是加载音频文件的模块,这些模块可能使用C库来播放声音)。这会导致pygame无法正确导入。
(更新:另一篇关于用户在Mac上运行pygame遇到问题的帖子显示,pygame需要一个叫做pyobjc的库,而这个库很可能和GAE的工作方式不兼容,正如我之前提到的)
我自己也遇到过类似的情况,使用了一个与数学相关的Python包,而我只需要其中的一小部分。这个包依赖于一个C库来保持在处理大量变量时的精度。最后,我决定用纯Python重写那小部分,使用了很多int()和float()的调用,结果运行得很好。
2
你不能这样做。谷歌应用引擎(GAE)有一套非常严格的库限制,只有特定的库可以使用。这里有一个列表:
https://developers.google.com/appengine/docs/python/tools/libraries27