在Google云应用引擎中使用pygame

-1 投票
2 回答
652 浏览
提问于 2025-04-17 17:46

我正在尝试在我的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

撰写回答