2014-06-15 223 views
42

我开始学习Python的3.4,并想开始使用库以及谷歌App Engine的,但大多数的Python库只支持Python的2.7,并与谷歌App Engine的相同。Google App Engine是否支持Python 3?

我应该学会2.7取而代之还是有更简单的方法? (是否可以同时在我的机器上安装2个Python版本?)

+6

没有的Python 2.x的+和Python 3.X +太大的区别,所以你不妨学习Python 2.x +。您可以同时在一台机器上安装多个版本的Python,但目前在App Engine中使用Python 3的唯一方法是使用“托管虚拟机”功能:https://developers.google.com/cloud/managed-vms –

+3

GAE Py3k支持的Google内部问题:https://code.google.com/p/googleappengine/issues/detail?id=909 – ygbr

回答

34

不,它没有。

Google App Engine(GAE)使用沙箱Python 2.7运行时为Python应用程序。这是正常的App Engine Hosting。但是,在GAE中,您可以使用Managed VM Hosting

管理VM主机,您可以运行在配置谷歌Compute Engine的虚拟机GAE应用。给你更多的灵活性。 目前管理的虚拟机在Alpha阶段只支持Java 7,Python 2.7Go 1.4运行时环境。要获得其他运行时(如Python 3node.js),您可以创建user-configurable custom runtime

注:随着管理VM是你不会有Python 2.7GAE库的功能。

  • 如果你坚持要用GAE,因为Python 3+是不可行的,我建议学习2.7GAE库被移植到Python 3+切换到3+版本。如果您了解其中一个版本,您可以轻松切换到另一个版本。

  • 如果你坚持要用Python 3+,您可以使用HerokuMicrosoft Azure。它们都支持Python 2.73.4

+8

** GAE更新**:托管虚拟机托管现在本机支持Python 3.4开箱即用,并且处于公开测试版(不是alpha版)。 – eestrada

+2

虽然你还不能使用任何谷歌应用程序引擎库 python3。 https://cloud.google.com/appengine/docs/flexible/python/migrating-an-existing-app – Jonathan

+2

是的,它自2016年8月10日起可用。查看Google Cloud Platform博客https://cloudplatform.googleblog.com /2016/08/python-3-on-Google-App-Engine-flexible-environment-now-in-beta.html –

22

Since August 10, 2016, it does.

如果您正在使用Google App Engine测试环境中,您可以编辑您的应用程序app.yaml并指定所需的Python版本:

runtime: python 
# vm: true has been deprecated 
# check how env:flex may affect your billing 
env: flex 
entrypoint: gunicorn -b :$PORT main:app 

runtime_config: 
    python_version: 3 
+0

你能否用默认文件显示默认文件的适当区别? –

+0

截至2016年11月,GAE不支持3.5,仅为3.4。 3.6即将到来。 –

+1

[支持3.5.2(2016年12月)](https://cloud.google.com/appengine/docs/flexible/python/runtime)它是Ubuntu 16.04LTS在其回购站中管理的版本。 – Rutrus

0

YES! Google App引擎支持python v3,您需要设置灵活的环境。

我有机会在App Engine上部署应用,它的使用python 3.6运行时和工程进展顺利... :)