【问题标题】:Does Google App Engine support Python 3?Google App Engine 是否支持 Python 3?
【发布时间】:2014-08-05 10:09:03
【问题描述】:

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

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

【问题讨论】:

标签: python google-app-engine


【解决方案1】:

不,它没有。

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

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

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

注意:使用 托管 VM,您将无法使用 Python 2.7 GAE 库。

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

  • 如果你坚持使用Python 3+,你可以使用Heroku或者Microsoft Azure。两者都支持Python 2.73.4

【讨论】:

【解决方案2】:

Since August 10, 2016, it does.

如果您使用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

【讨论】:

  • 你能用你的自定义文件显示默认文件的正确差异吗?
  • 截至 2016 年 11 月,GAE 不支持 3.5,仅支持 3.4。 3.6 指日可待。
  • 3.5.2 is supported (on December 2016) 这是 Ubuntu 16.04LTS 在其存储库中管理的版本。
  • vm:true 已被弃用,应替换为 env:flex。此外,此设置会产生用户应注意的计费影响。
【解决方案3】:

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

【讨论】:

    【解决方案4】:

    是的!谷歌应用引擎支持python v3,需要搭建弹性环境。

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

    【讨论】:

      【解决方案5】:

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

      1. App Engine - Standard (Aug 2018):Python 2.73.7, 3.8, 3.9
      2. App Engine - Flexible (Aug 2016 beta, Mar 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 - Standard 相同的版本
      2. Cloud Run (Apr 2019 beta, Nov 2019 GA):你可以放入容器中的任何版本

      【讨论】:

        【解决方案6】:

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

        标准环境完全支持 Python v3.7 运行时。 (非弹性环境)以及 requirements.txt 中的画中画包也被标准运行时支持,会自动安装 requirements.txt 中声明的依赖项。

        Python v3.7 的

        app.yaml 配置如下。

        runtime: python37 
        entrypoint: as you required. 
        

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

        【讨论】:

          【解决方案7】:

          在标准环境中,必须使用供应商来安装第三方库。在柔性环境中不需要此任务,因为运行时会自动安装在 requirements.txt 中声明的依赖项,包括需要本机扩展的依赖项。

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

          【讨论】:

            猜你喜欢
            • 2012-10-19
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-11-27
            • 2020-02-21
            • 2013-11-18
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多