如何将Python 3与Google App Engine的本地开发服务器一起使用

Lar*_*erg 7 python google-app-engine python-3.x google-app-engine-python

我有一个配置的本地Python应用程序

runtime: python
Run Code Online (Sandbox Code Playgroud)

在它的app.yaml文件中.使用时启动本地开发服务器

dev_appserver.py app.yaml
Run Code Online (Sandbox Code Playgroud)

一切都很好.

由于GAE的Local Development Server默认使用Python2.7,我现在想要使用Python3.x.根据Google的文档,我们必须使用灵活的环境.因此我app.yaml改为:

runtime: python
env: flex

runtime_config:
  python_version: 3
Run Code Online (Sandbox Code Playgroud)

现在dev_appserver.py app.yaml吐出:

Under dev_appserver, runtime:python is not supported for Flexible environment.
Run Code Online (Sandbox Code Playgroud)

Google的Hello World应用程序也可以使用灵活的环境重现该问题.

那么本地我们不能使用Python3?在上传之前,我们如何在本地运行我的Python3代码?

Dan*_*scu 8

使用本地开发服务器仅适用于第一代标准环境应用程序.

要运行本地灵活的环境应用,请参阅本地运行:

您可以使用通常使用的本机开发工具在本地运行应用程序.

例如,您通常可以使用Flask的开发服务器运行Flask应用程序:

python main.py
Run Code Online (Sandbox Code Playgroud)

可以使用以下命令启动Django应用程序:

python manage.py runserver
Run Code Online (Sandbox Code Playgroud)

相关:如何判断Google App Engine文档页面是否适用于标准环境或灵活环境

更新:

对第二代标准环境的支持有限,请参阅适用于新应用程序引擎应用程序的Python 3.7本地开发服务器选项

  • Au逆转.运行本机开发工具是模拟flex env应用程序的正确方法(这正是它们将如何在GAE上运行 - 按照`entrypoint:`config equivalent)的指示,`dev_appserver.py`只模拟GAE标准env python只有标准env应用程序运行的沙箱. (3认同)