Flask (непредвиденная ошибка при использовании Gunicorn

Я попытался развернуть свое приложение Flask с помощью gcloud, gunicorn. Но когда я написал app.yaml, как показано ниже, это не сработало.

Вот мой файл app.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

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

flask_todo # это то место, где я делаю компакт-диск и запускаю gunicorn flask_todo: create_app

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

Какова причина? Пожалуйста помогите..

Попробуйте удалить запятую перед закрывающим ), который стоит отдельно.   —  person 안홍경    schedule 27.01.2019

Спасибо. Но у меня это не сработало. Ниже приведен ответ на мою проблему!   —  person 안홍경    schedule 30.01.2019

См. также:  Как узнать, присутствует ли файл в нескольких ветках в git
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 1
  1. 안홍경

    Аргументы для 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()
    

    Отлично .. Ты идеален .. У меня отлично сработало .. Большое спасибо! person 안홍경; 29.01.2019

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: