Google App Engine 部署问题 - 未找到主应用

Google App Engine deployment issue- main app not found

我正在尝试使用 Google App Engine 部署我的应用程序。我编辑了 app.yaml 以反映灵活的环境,并提供了所有应用程序信息。下面是 app.yaml 文件。

runtime: python
env: flex
entrypoint: gunicorn -b :$PORT main:app
runtime_config:
  python_version: 3

部署开始后,我收到以下错误

[2018-08-24 06:57:14 +0000] [1] [INFO] Starting gunicorn 19.7.1
[2018-08-24 06:57:14 +0000] [1] [INFO] Listening at: http://0.0.0.0:8080 (1)
[2018-08-24 06:57:14 +0000] [1] [INFO] Using worker: sync
[2018-08-24 06:57:14 +0000] [7] [INFO] Booting worker with pid: 7
App Deployed
Failed to find application: 'main'
[2018-08-24 06:57:14 +0000] [7] [INFO] Worker exiting (pid: 7)
[2018-08-24 06:57:14 +0000] [1] [INFO] Shutting down: Master
[2018-08-24 06:57:14 +0000] [1] [INFO] Reason: App failed to load.

请注意,App Deployed 是我的打印语句中的一行。它正在被执行。但是部署失败了

提前致谢

在您的 app.yaml 中,您正在使用 gunicorn -b :$PORT main:app 启动 gunicorn。这告诉它在文件 main.py

中查找对象 app

The error you're getting comes from gunicorn 并在您有一个 main.py 文件但其中没有 app 对象时发生。

您可能想按如下方式设置 Flask 应用程序:

from flask import Flask

app = Flask(__name__)

在此处查看完整的示例应用程序:https://cloud.google.com/appengine/docs/flexible/python/quickstart#hello_world_code_review

我遇到了同样的问题。

Failed to find application: 'main'

我的原因是我在根项目目录中有一个也称为 main 的目录。

drwxr-xr-x   2 user  staff    64 Nov 30 10:12 main
-rw-r--r--   1 user  staff  1178 Nov 29 20:58 main.py

我猜 gunicorn 搞糊涂了。 解决方案(对我有用):重命名 main 目录。

P.S。只是不要将其重命名为 code 目录。这将导致 PyCharm 中的另一个调试问题。 :)

我的文件夹结构如下所示 main.py 不在 root 目录中,我如何在 app.yaml 文件中指定它。

/app
 |__main.py
app.yaml