我想在我的App Engine应用程序中构建一个管理部分,允许我动态下载和安装python模块。
有关实现此目的的最有效方法的任何想法,而无法写入文件系统?
有没有这方面的例子?
python27 support of setuptools会让这更容易吗?
修改
我最初的想法是,这可以通过动态下载egg或zip文件来完成。将其保存到blobstore,然后从那里加载。
这是真的吗?这会产生什么样的性能问题?
答案 0 :(得分:2)
在GAE上,您无法访问文件系统,这就是您无法在实例上安装任何第三方软件包的原因,您只能使用自己的代码进行分发。
答案 1 :(得分:1)
在您的app目录中创建一个名为“lib”的文件夹。对于要添加的任何模块,只需将其解压缩并将其添加到lib即可。然后使用控制台或Google App Launcher重新部署您的应用程序。每次要添加新模块时重复。
我不是百分百肯定的。但在我看来,如果不想涉及手动过程,那么我建议动态添加模块内容作为blob存储条目并在运行时加载模块。
但是之前的答案指出的诀窍是,要使用软件包,其代码必须存在于您的应用程序中。