Python 谷歌应用引擎:包括外部软件包

Python 谷歌应用引擎:包括外部软件包,python,google-app-engine,Python,Google App Engine,我理解如果你想包含外部包,你必须在你的项目中包含它们。我想知道你是怎么做到的 人们是否使用一个通用脚本从某个位置自动导入他们。也许是某种列出所有外部包的配置文件?你总是把包裹拉上拉链,用zipimporter吗 安威,我想我正在寻找一个很好的导入外部软件包的总体策略。我已经从源代码中学到了一些,但额外的信息/示例将非常有用。在我看来,Jaikuengine使用了一个很好的解决方案 它使用一个包含所有依赖项的目录“vendor”,并在应用程序启动时压缩目录中的所有包并更新sys路径 有关更多信息,

我理解如果你想包含外部包,你必须在你的项目中包含它们。我想知道你是怎么做到的

人们是否使用一个通用脚本从某个位置自动导入他们。也许是某种列出所有外部包的配置文件?你总是把包裹拉上拉链,用zipimporter吗


安威,我想我正在寻找一个很好的导入外部软件包的总体策略。我已经从源代码中学到了一些,但额外的信息/示例将非常有用。

在我看来,Jaikuengine使用了一个很好的解决方案

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

有关更多信息,请参见:


另外,重要的一点是,在app.yaml中跳过目录供应商,只将libs.zip上载到appengine。

如果脚本目录中有模块或鸡蛋,则可以像模块一样导入它们 例如,如果我想在googleappengine上使用PyRTF,我会将PyRTF文件夹从我的计算机复制到我的projects根目录中,但这只适用于纯python模块

您还可以创建自己的模块,python将文件夹作为模块导入(如果它们适合该结构)

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

-“\uuuu init\uuuuuu.py”
-“someotherscript.py”
然后可以作为
导入foldername

只需将包的文件夹放在GAE应用程序的根目录中,简单

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