Flask“(“使用gunicorn时出现意外错误

2024-04-20 05:54:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用gcloud,gunicorn部署我的flask应用程序。 但是当我写下附录yaml就像下面一样,它不起作用。你知道吗

这是我的附录yaml文件。你知道吗

runtime: python
env: flex
entrypoint: gunicorn -b :$PORT flask_todo:create_app

runtime_config:
  python_version: 3

manual_scaling:
  instances: 1
resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10

初始化.py文件

import os
from flask import Flask,render_template,request,url_for,redirect
from . import db


def create_app(test_config=None):
    app = Flask(__name__, instance_relative_config=True)
    app.config.from_mapping(
        SECRET_KEY='dev',
        DATABASE=os.path.join(app.instance_path, 'flaskr.sqlite'),
    )

    if test_config is None:
        app.config.from_pyfile('config.py', silent=True)

    else:
        app.config.from_mapping(test_config)


    try:
        os.makedirs(app.instance_path)

    except OSError:
        pass
    return app

烧瓶#这是我的cd和运行古尼科恩烧瓶_todo:创建应用程序你知道吗

flask_todo
--db.py
--__init__.py
--app.yaml
--requirements.txt

原因是什么?请帮帮我。。你知道吗


Tags: 文件pathinstancefrompytestimportconfig
1条回答
网友
1楼 · 发布于 2024-04-20 05:54:37

gunicorn的参数必须是可导入的模块中的变量,并表示WSGI应用程序。在您的示例中,create_app是一个返回这样一个变量的函数,而不是一个变量本身。你知道吗

类似于以下的方法应该可以工作:

app.yaml

runtime: python
env: flex
entrypoint: gunicorn -b :$PORT flask_todo:app

runtime_config:
  python_version: 3

manual_scaling:
  instances: 1
resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10

__init__.py

import os
from flask import Flask,render_template,request,url_for,redirect
from . import db


def create_app(test_config=None):
    app = Flask(__name__, instance_relative_config=True)
    app.config.from_mapping(
        SECRET_KEY='dev',
        DATABASE=os.path.join(app.instance_path, 'flaskr.sqlite'),
    )

    if test_config is None:
        app.config.from_pyfile('config.py', silent=True)

    else:
        app.config.from_mapping(test_config)


    try:
        os.makedirs(app.instance_path)

    except OSError:
        pass
    return app

app = create_app()

相关问题 更多 >