在Google App Engine上使用SetupTools动态下载和安装Python模块
我想在我的App Engine应用里添加一个管理部分,这样我就可以动态下载和安装Python模块。
有没有什么好的方法可以做到这一点,而不需要写入文件系统呢?
有没有类似的例子可以参考?
使用python27的setuptools会不会让这个过程更简单?
编辑:
我最初的想法是,可以通过动态下载一个egg或zip文件来实现。然后把它保存到blobstore里,再从那里加载。
这样做可行吗?
这样会带来什么样的性能问题呢?
2 个回答
1
在你的应用程序目录里,创建一个叫做'lib'的文件夹。想要添加的模块,只需解压缩它,然后放到lib文件夹里。接着,通过控制台或Google应用启动器重新部署你的应用。每次想添加新模块时,都要重复这个步骤。
我不是百分之百确定,但我觉得如果你不想手动操作的话,可以考虑动态地将模块内容作为一个blob存储项添加,并在运行时加载这个模块。
不过,正如之前的回答所说,要使用一个包,它的代码必须在你的应用中存在。
2
在谷歌应用引擎(GAE)上,你无法访问文件系统,这就是为什么你不能在你的实例上安装任何第三方软件包的原因。你只能把这些软件包和你自己的代码一起打包分发。