据我所知,如果要包含外部包,则必须将它们包含在项目中。所以我想知道你是怎么做到的?
人们是否使用一个自动从某个位置导入它们的通用脚本。也许某种配置文件列出了所有外部包?你总是压缩包装并使用zipimporter吗?
Anway,我想我正在寻找一个很好的导入外部包的一般策略。我已经从查看源代码中学到了一些东西,但额外的信息/示例将是超级的。
答案 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。