Google App Engine:包括外部包

时间:2010-09-04 08:54:37

标签: python google-app-engine

据我所知,如果要包含外部包,则必须将它们包含在项目中。所以我想知道你是怎么做到的?

人们是否使用一个自动从某个位置导入它们的通用脚本。也许某种配置文件列出了所有外部包?你总是压缩包装并使用zipimporter吗?

Anway,我想我正在寻找一个很好的导入外部包的一般策略。我已经从查看源代码中学到了一些东西,但额外的信息/示例将是超级的。

3 个答案:

答案 0 :(得分:2)

只需将包的文件夹放在GAE应用程序的根目录中即可!

答案 1 :(得分:1)

如果您的脚本目录中有模块或鸡蛋,则可以像模块一样导入这些模块或鸡蛋 例如,如果我想在谷歌应用程序引擎上使用PyRTF,我会将PyRTF文件夹从我的计算机复制到我的项目根目录,这只适用于纯python模块

你也可以制作自己的模块,如果文件夹符合结构,python会将文件夹作为模块导入

<foldername>
-"__init__.py"
-"someotherscript.py"

然后可以导入为 导入foldername

答案 2 :(得分:0)

Jaikuengine在我的观点中使用了一个很好的解决方案。

它使用包含所有依赖项的目录“vendor”,并且在启动时,应用程序会压缩目录中的所有包并更新sys路径。

有关更多信息,请参阅jaikuengine project

svn/trunk/manage.py
svn/trunk/build.py
svn/trunk/vendor/

同样重要的是,在app.yaml中,目录供应商被跳过,只有libs.zip被上传到appengine。