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

时间:2018-08-24 07:00:07

标签: python google-app-engine google-cloud-platform google-cloud-storage app.yaml

我正在尝试使用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是我的打印语句中的一行。它正在执行。但是部署失败了

提前谢谢

3 个答案:

答案 0 :(得分:1)

在您的app.yaml中,您将以gunicorn -b :$PORT main:app开枪。这告诉它在文件app

中查找对象main.py

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

答案 1 :(得分:0)

我遇到了同样的问题。

setTimeout()

在我的情况下,原因是我在根项目目录中有一个也称为<input id="dateRangeS1" name="dateRangeS1" type="text" value=""> 的目录。

Failed to find application: 'main'

我想古尼康感到困惑。 解决方案(对我有用):重命名main目录。

P.S。只是不要将其重命名为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 目录。它将导致PyCharm中的调试出现另一个问题。 :)

答案 2 :(得分:0)

我的文件夹结构看起来像这样 main.py 不在 root 目录中,我如何在 app.yaml 文件中指定它。

/app
 |__main.py
app.yaml