我有一个在标准 Python3 运行时上部署和运行的应用程序引擎应用程序。我还可以使用普通命令在本地运行它,例如flask run
。但我无法像在 2.7 运行时中运行应用程序那样运行它dev_appserver.py
。我正在使用最新的gcloud
版本,但正在运行dev_appserver.py
结果是:
错误:Python 3 及更高版本与 Google Cloud SDK 不兼容。请使用Python 2.7.x版本。
我以为我们不应该再这样做了,直到它看到:https://cloud.google.com/appengine/docs/standard/python3/tools/local-devserver-command https://cloud.google.com/appengine/docs/standard/python3/tools/local-devserver-command
开头是:
Python 3.7 本地开发服务器选项
Usage:
dev_appserver.py [选项] yaml_path [文件...]
Is dev_appserver.py
是否与Python3兼容(也许我的路径中有旧版本)?如果没有,是否有一种在本地运行应用程序的新方法,该方法将遵守 app.yaml(例如正确处理静态路径)并提供其他细节,例如本地数据存储dev_appserver.py
假如?
The dev_appserver.py
对 Python 3 的支持仍然有限。从运行本地开发服务器 https://cloud.google.com/appengine/docs/standard/python3/testing-and-deploying-your-app#running_the_local_development_server:
Note:
- 运行 dev_appserver 需要本地计算机上存在 Python 2.7.12+。
- 更新后的 dev_appserver 不支持在 Windows 上开发 Python 3 应用程序。
Which might是为什么not为本地开发推荐的解决方案(或至少目前还没有)。从本地运行 https://cloud.google.com/appengine/docs/standard/python3/testing-and-deploying-your-app#running_locally:
We do not建议您依赖类似的工具dev_appserver
,
随提供的本地开发服务器谷歌云SDK https://cloud.google.com/sdk/docs/。
但是,如果您要将现有 App Engine 应用程序从
Python 2 到 Python 3,我们已更新dev_appserver
促进
这个流程。对于所有其他本地开发场景,我们建议
标准 Python 测试方法。
例如,您通常可以使用 Flask 来运行 Flask 应用程序
开发服务器使用:
python main.py
Django 应用程序可以使用以下命令启动:
python manage.py runserver
要模拟生产 App Engine 环境,您可以运行完整的
本地 Web 服务器网关接口 (WSGI) 服务器。为此,请使用
在 app.yaml 中指定为入口点的相同命令,例如
例子:
gunicorn -b :$PORT main:app
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)