小编典典

适用于新应用引擎应用程序的Python 3.7 Local Development Server Options

python

我有一个可在标准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

开头为:

Python 3.7本地开发服务器选项

用法:
dev_appserver.py [选项] yaml_path [文件…]

是否dev_appserver.py与Python3兼容(也许我的路径中有旧版本)?如果不是,是否有一种新方法可以在本地运行应用程序,该方法将遵守app.yaml(例如正确处理静态路径)并提供其他类似功能(例如提供的本地数据存储)dev_appserver.py


阅读 203

收藏
2021-01-20

共1个答案

小编典典

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测试方法。

例如,通常可以使用以下命令在Flask的开发服务器上运行Flask应用程序:

python main.py

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

python manage.py runserver

要模拟生产App Engine环境,您可以在本地运行完整的Web服务器网关接口(WSGI)服务器。为此,请使用在app.yaml中指定为入口点的相同命令,例如:

gunicorn -b :$PORT main:app
2021-01-20