Google App Engine是否支持Python 3?

时间:2014-06-15 11:37:16

标签: python google-app-engine

我开始学习 Python 3.4 ,并希望开始使用库以及 Google App Engine ,但仅限大多数 Python 库支持 Python 2.7 ,与 Google App Engine 相同。

我应该学习 2.7 ,还是有更简单的方法? (我的机器上可能同时有2个Python版本吗?)

7 个答案:

答案 0 :(得分:33)

不,它没有。

[编者注:截至2018年8月,这个答案已经过时;见评论和其他答案]

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

托管虚拟机托管可让您在可配置的 Google Compute Engine虚拟机上运行GAE个应用程序。为您提供更大的灵活性。目前,在Alpha阶段,托管虚拟机仅支持Java 7Python 2.7Go 1.4运行时环境。要获取其他运行时(例如Python 3node.js),您可以创建user-configurable custom runtime

注意:使用托管虚拟机,您将无法拥有Python 2.7 GAE 库的功能。

  • 如果您坚持使用 GAE ,由于Python 3+不可行,我建议您学习 2.7 和当 GAE 库移植到Python 3+时,切换到 3 + 版本。如果您学习其中一个版本,则可以轻松切换到另一个版本。

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

答案 1 :(得分:27)

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

答案 2 :(得分:7)

是的。 Python 3.7可作为Google App Engine标准运行时as of August 8, 2018使用。

答案 3 :(得分:0)

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

我有机会在app引擎上部署我的应用程序,而且它使用python 3.6运行时并且运行顺畅... :)

答案 4 :(得分:0)

Google App Engine支持python运行时(最高到python v3.7版本)(直到今天)。

标准环境完全支持Python v3.7运行时。 (非弹性环境)和Requirements.txt中的PiP包也受标准运行时支持,将自动安装在Requirements.txt中声明的依赖项。

以下是Python v3.7的

app.yaml 配置。

runtime: python37 
entrypoint: as you required. 

在python v3.7标准环境的app.yaml中不需要包含 runtime_config

答案 5 :(得分:0)

(2021 年 6 月):已经 7 年多了,这里的许多答案要么不正确,要么部分正确。在撰写本文时,所有 App Engine 产品都完全支持 Python 3。以下是支持的版本、文档链接和发布公告:

  1. App Engine - Standard (Aug 2018):Python 3.7, 3.8, 3.9
  2. App Engine - FlexibleAug 2016 betaMar 2017 GA):Python 3.7(.2)

自 OP 以来的另一个变化是 Google Cloud 引入了 2 个额外的 serverless compute platforms,加入了 App Engine,并且都支持 Python 3:

  1. Cloud FunctionsMar 2017 betaAug 2018 GA):(支持与 App Engine - 标准版相同的版本)
  2. Cloud Run (Apr 2019 beta, Nov 2019 GA):(可以放入容器的任何版本)

答案 6 :(得分:-1)

在标准环境中,安装第三方库是必需的。灵活环境中不需要此任务,因为运行时将自动安装在requirements.txt中声明的依赖项,包括需要本机扩展的依赖项。

  

https://cloud.google.com/appengine/docs/flexible/python/migrating-an-existing-app#behavioral_differences