繁体   English   中英

Google App Engine 是否支持 Python 3?

[英]Does Google App Engine support Python 3?

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

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

不,它没有。

[编者注:截至 2018 年 8 月,此答案已过时; 查看评论和其他答案]

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

Managed VM Hosting让您可以在可配置的Google Compute Engine 虚拟机上运行GAE应用程序。 为您提供更大的灵活性。 目前,处于 Alpha 阶段的托管 VM仅支持Java 7Python 2.7Go 1.4运行时环境。 要获得其他运行时(如Python 3node.js ),您可以创建用户可配置的自定义运行时

注意:使用托管 VM,您将无法获得Python 2.7 GAE库的功能。

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

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

自 2016 年 8 月 10 日起,它确实如此。

如果您使用的是Google App Engine beta 环境,您可以编辑您的应用程序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

是的。 2018 年 8 月 8 日起, Python 3.7 可作为 Google App Engine 标准运行时使用。

是的! Google App 引擎支持python v3,需要搭建灵活的环境。

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

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

  1. App Engine - 标准版2018 年 8 月):Python 2.73.7、3.8、3.9
  2. App Engine - 灵活2016 年 8 月测试版2017 年 3 月正式版): Python 3.7(.2)

自 OP 以来的另一个变化是Google Cloud推出了另外两个无服务器计算平台,加入了 App Engine,并且都支持 Python 3:

  1. Cloud Functions2017 3 月测试版2018 年 8 月正式版):支持与 App Engine 相同的版本 - 标准
  2. Cloud Run2019 年 4 月测试版2019 年 11 月正式):您可以放入容器的任何版本

Google App 引擎支持 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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM