Проблема с Procfile / wsgi при развертывании на heroku с приложением python flask ~ Не удалось найти атрибут - PullRequest
1 голос
/ 25 января 2020

код котельной плиты: Мой репозиторий Github

 

Procfile:

web: gunicorn myapi:create_app --log-file -     

Журналы Heroku:

2020-01-25T11:07:56.952951+00:00 heroku[web.1]: Starting process with command `gunicorn myapi:create_app --log-file -`
2020-01-25T11:07:59.205710+00:00 heroku[web.1]: State changed from starting to crashed
2020-01-25T11:07:58.973586+00:00 app[web.1]: [2020-01-25 11:07:58 +0000] [4] [INFO] Starting gunicorn 20.0.4
2020-01-25T11:07:58.974163+00:00 app[web.1]: [2020-01-25 11:07:58 +0000] [4] [INFO] Listening at: http://0.0.0.0:27984 (4)
2020-01-25T11:07:58.974256+00:00 app[web.1]: [2020-01-25 11:07:58 +0000] [4] [INFO] Using worker: sync
2020-01-25T11:07:58.979663+00:00 app[web.1]: [2020-01-25 11:07:58 +0000] [9] [INFO] Booting worker with pid: 9
2020-01-25T11:07:58.983867+00:00 app[web.1]: Failed to find attribute 'create_app' in 'myapi'.
2020-01-25T11:07:58.984029+00:00 app[web.1]: [2020-01-25 11:07:58 +0000] [9] [INFO] Worker exiting (pid: 9)
2020-01-25T11:07:58.993260+00:00 app[web.1]: [2020-01-25 11:07:58 +0000] [10] [INFO] Booting worker with pid: 10
2020-01-25T11:07:58.997526+00:00 app[web.1]: Failed to find attribute 'create_app' in 'myapi'.
2020-01-25T11:07:58.997674+00:00 app[web.1]: [2020-01-25 11:07:58 +0000] [10] [INFO] Worker exiting (pid: 10)
2020-01-25T11:07:59.123159+00:00 app[web.1]: [2020-01-25 11:07:59 +0000] [4] [INFO] Shutting down: Master
2020-01-25T11:07:59.123241+00:00 app[web.1]: [2020-01-25 11:07:59 +0000] [4] [INFO] Reason: App failed to load.
2020-01-25T11:07:59.187524+00:00 heroku[web.1]: Process exited with status 4

__init__.py:

from flask import Flask

from os import environ 

from .commands import create_users, create_database
from .extensions import db, guard
from .models import User 
from .routes import api 


def create_app():
    app = Flask(__name__)

    app.config['SECRET_KEY'] = environ.get('SECRET_KEY')
    app.config['SQLALCHEMY_DATABASE_URI'] = environ.get('SQLALCHEMY_DATABASE_URI')
    app.config['JWT_ACCESS_LIFESPAN'] = {'minutes': 30}

    db.init_app(app)
    guard.init_app(app, User)

    app.cli.add_command(create_users)
    app.cli.add_command(create_database)

    app.register_blueprint(api)

    return app

не совсем уверен, что лучший способ сделать это, однако, imgur_link - это место, где вы найдете настройки каталога. I иметь для моего проекта.

Моя проблема в том, что я не могу понять, как развернуть к героку. Я пытаюсь использовать gunicorn в качестве веб-сервиса, так как это необходимо при развертывании на heroku. Могли бы действительно помочь, чтобы выяснить, как это сделать / найти правильный код для моего Procfile ... Заранее спасибо!

1 Ответ

0 голосов
/ 26 января 2020

Решено с помощью: Procfile: gunicorn "myapi: create_app ()" --log-file - Обратите внимание, цитаты обязательны.

...