Rob*_* Yi 1 python google-app-engine flask google-cloud-platform
我有一个非常简单的 Flask 应用程序,由单个文件main.py.
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return "Hello world."
Run Code Online (Sandbox Code Playgroud)
我的项目目录中还有另一个文件 ,app.yaml它由一行组成:
runtime: python37
Run Code Online (Sandbox Code Playgroud)
如果我gcloud app deploy在此或 Flask 上运行,该页面会在谷歌云和本地上正确呈现,显示一个显示“Hello world”的页面。
但是,如果我移动main.py到./app/__init__.py,gcloud app deploy则不再呈现页面(即使flask run仍然正常工作!),给出 502 Bad Gateway 错误。日志给出错误:
File "/env/lib/python3.7/site-packages/gunicorn/util.py", line 350, in import_app
__import__(module)
ModuleNotFoundError: No module named 'main'"
Run Code Online (Sandbox Code Playgroud)
关于这里的问题有什么想法吗?
如果您未entrypoint在 YAML 文件中进行定义,App Engine 将配置并启动 Gunicorn Web 服务器。
GCloud提供的默认配置是:
gunicorn -b :$PORT main:app
Run Code Online (Sandbox Code Playgroud)
因此,如果您的入口点不是,则需要配置入口点字段main.py
| 归档时间: |
|
| 查看次数: |
1930 次 |
| 最近记录: |