App Engine Python 3 开发环境

问题描述 投票:0回答:2

我正在尝试将我的应用引擎应用程序从 python 2 升级到 python 3。我的应用程序使用应用引擎数据存储(现在是云数据存储)。 Google 的文档并不清楚如何在本地测试这些东西。我已经尝试过 dev_appserver.py(多年来我一直在 Python 2 中使用它)但是它产生了以下错误:

File "/usr/lib/google-cloud-sdk/platform/google_appengine/_python_runtime.py", line 108, in <module>
    assert sys.version_info[0] == 2
AssertionError

我确实安装了 Python 3 和 Python 2。

...我在 Python 虚拟环境中使用 Ubuntu 进行开发

谢谢

python flask google-app-engine google-cloud-platform google-cloud-datastore
2个回答
1
投票
  1. File "/usr/lib/google-cloud-sdk/platform/google_appengine/_python_runtime.py", line 108, in assert sys.version_info[0] == 2 AssertionError

    上述错误意味着您尝试使用非python2 可执行文件启动

    dev_appserver.py
    dev_appserver.py
    需要使用 Python2 调用,无论您的目标应用程序是在哪个运行时或版本中编写的(即,即使您的应用程序是用 Python 3 编写的)。正如文档所说

    如果 Python 2 不是您系统上的默认解释器,您需要运行

    python2 dev_appserver.py
    以确保使用 Python 2 解释器

    总结:确保

    Python2
    是您的默认Python可执行文件,在这种情况下您可以简单地执行
    dev_appserver.py app.yaml
    。如果
    Python2
    不是您的默认 Python 可执行文件,那么您必须使用命令
    python2 dev_appserver.py

  2. 如果您使用捆绑的 API,那么我认为您不需要 Cloud Datastore Emulator。您可以像运行 Python 2 一样运行您的应用程序。要为 Python 3 启用捆绑的 API,请参阅Google 文档


0
投票

简短的回答是 dev_appserver.py 现在可以与 Python 3 一起使用。要么直接用 python3 调用它,要么确保 python3 是默认的 python 解释器。

© www.soinside.com 2019 - 2024. All rights reserved.