我可以仅将Python .pyc文件部署到Google App Engine吗?
我正在一个项目中使用Django框架,部署在Google App Engine上。有人问我,是否可以只上传编译后的代码。
所以我想问的是,能不能只上传一个包含特定代码的.pyc文件?我试过把一个views.pyc文件放到应用里,但结果不太好。有没有什么设置或者配置可以让Google App Engine只使用.pyc文件呢?
3 个回答
0
你为什么想这么做呢?因为你的 .py 文件是上传到谷歌的服务器上,只有在你明确授权的情况下,别人才能看到这些文件。
不过,上传 .pyc 文件是完全可以的。如果你在自己的开发环境中试试,你会发现这样做是可行的,就像 BaseHTTPServer 可以使用编译过的 Python 模块作为处理程序一样。
而且,最近的 Google App Engine(GAE)支持自动预编译 Python 文件,这意味着当你更新应用程序时,Python 文件会被自动编译并提供服务。所以,如果你希望在应用引擎那边检查 .py 文件,你可能需要在使用 appcfg.py 上传时加上 --no_precompilation
这个选项。
7
不行,你只能上传源代码。其实这样做也没什么好处:你的代码在服务器上会被编译成字节码,等需要的时候才会用到,而且没有人能访问到你的代码。
7
我知道你在问这个问题的时候是不能这样做的,但现在如果你使用Python 2.7,就可以了。请看一下Python 2.7中的沙箱机制:
你可以上传和使用
.pyc
文件,但不能和.py
文件一起使用。你可以上传包含.py
或.pyc
文件(或者两者都有)的压缩文件。