使用Google App Engine上的SetupTools动态下载和安装python模块

时间:2012-01-19 06:56:14

标签: python google-app-engine setuptools python-2.7

我想在我的App Engine应用程序中构建一个管理部分,允许我动态下载和安装python模块。

有关实现此目的的最有效方法的任何想法,而无法写入文件系统?

有没有这方面的例子?

python27 support of setuptools会让这更容易吗?

修改

我最初的想法是,这可以通过动态下载egg或zip文件来完成。将其保存到blobstore,然后从那里加载。

这是真的吗?

这会产生什么样的性能问题?

2 个答案:

答案 0 :(得分:2)

在GAE上,您无法访问文件系统,这就是您无法在实例上安装任何第三方软件包的原因,您只能使用自己的代码进行分发。

答案 1 :(得分:1)

在您的app目录中创建一个名为“lib”的文件夹。对于要添加的任何模块,只需将其解压缩并将其添加到lib即可。然后使用控制台或Google App Launcher重新部署您的应用程序。每次要添加新模块时重复。

我不是百分百肯定的。但在我看来,如果不想涉及手动过程,那么我建议动态添加模块内容作为blob存储条目并在运行时加载模块。

但是之前的答案指出的诀窍是,要使用软件包,其代码必须存在于您的应用程序中。