我可以只将Python .pyc文件部署到Google App Engine吗?

时间:2011-02-15 10:00:47

标签: python django google-app-engine pyc

我正在开发一个在Google App Engine上使用Django的项目。我被问到是否可以将某些代码部署为仅编译。

所以我想问题是我可以上传一个只包含相关代码的.pyc文件吗?我在应用程序中使用views.pyc文件进行了基本测试,但事情不起作用。是否有一些配置或其他我可以设置以允许Google App Engine使用.pyc文件?

3 个答案:

答案 0 :(得分:7)

不,你不能 - 你只能上传源代码。但是没有充分的理由这样做:您的代码将在需要时在服务器上进行字节码编译,并且无论如何都没有人能够访问您的代码。

答案 1 :(得分:6)

当你提出这个问题时,我意识到你无法做到这一点,但如果你使用Python 2.7,你现在可以。见Sandboxing in Python 2.7

  

您可以上传和使用.pyc,但不能与.py文件结合使用。您可以上传包含.py.pyc个文件(或组合)的zip文件。

答案 2 :(得分:0)

你为什么要首先这样做?因为.py文件已上传到Google基础架构,只有在您明确授予权限时才能看到。 但是,没有理由说为什么只上传.pyc文件不起作用。如果您尝试它,在您的开发环境中,您会发现它正常工作,因为BaseHTTPServer可以将python编译的模块作为处理程序。 此外,最近的GAE支持python文件的自动预编译,这意味着只要您更新应用程序,python文件就可以预编译和提供。因此,如果有任何期望在应用引擎端检查.py文件,您可能必须在appcfg.py上传期间使用--no_precompilation