我有一个可在标准Python3运行时上部署并运行的应用程序引擎应用程序。我也可以使用普通命令在本地运行它flask run。但是我无法使用2.7运行时中运行应用程序的方式来运行它dev_appserver.py。我使用的是最新gcloud版本,但运行dev_appserver.py结果如下:
flask run
dev_appserver.py
错误:Python 3和更高版本与Google Cloud SDK不兼容。请使用Python版本2.7.x。
我认为我们不应该再这样做,直到它看到:https : //cloud.google.com/appengine/docs/standard/python3/tools/local-devserver-command
开头为:
Python 3.7本地开发服务器选项 用法: dev_appserver.py [选项] yaml_path [文件…]
Python 3.7本地开发服务器选项
用法: dev_appserver.py [选项] yaml_path [文件…]
是否dev_appserver.py与Python3兼容(也许我的路径中有旧版本)?如果不是,是否有一种新方法可以在本地运行应用程序,该方法将遵守app.yaml(例如正确处理静态路径)并提供其他类似功能(例如提供的本地数据存储)dev_appserver.py?
dev_appserver.py对Python 3的支持仍然有限。从运行本地开发服务器:
注意事项: 运行dev_appserver要求本地计算机上存在Python 2.7.12+。 更新的dev_appserver不支持在Windows上开发Python 3应用。 这可能就是为什么它不是本地开发的推荐解决方案的原因(或者至少目前还没有)。从本地运行: 我们不建议您dev_appserver使用Google Cloud SDK随附的本地开发服务器之类的工具。但是,如果您要将现有的App Engine应用程序从Python 2迁移到Python 3,我们已经进行了更新dev_appserver以简化此过程。对于所有其他本地开发方案,我们建议使用标准的Python测试方法。
注意事项:
运行dev_appserver要求本地计算机上存在Python 2.7.12+。 更新的dev_appserver不支持在Windows上开发Python 3应用。 这可能就是为什么它不是本地开发的推荐解决方案的原因(或者至少目前还没有)。从本地运行:
我们不建议您dev_appserver使用Google Cloud SDK随附的本地开发服务器之类的工具。但是,如果您要将现有的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