Gunicorn 'Ошибка объекта приложения должна быть вызвана' - PullRequest
0 голосов
/ 09 мая 2019

Я пытаюсь развернуть приложение, написанное на Dash, используя gunicorn и nginx. Я успешно развернул это же приложение несколько месяцев назад, когда знал, что делаю. Я хотел сделать некоторые обновления и повторно развернуть, но теперь развертывание не будет работать, даже если я избавлюсь от всех своих обновлений. Когда я запускаю gunicorn, я получаю сообщение об ошибке Application must be callable.

У меня есть проект в folder, который содержит файл unified.py, в котором находится мое приложение. В unified.py, app = dash.Dash(__name__, external_stylesheets=external_stylesheets) я определяю переменную приложения как app.

Я запускаю gunicorn folder.unified:app и получаю эту ошибку. Однако, если я запускаю from folder.unified import app, я получаю объект приложения и все необходимые атрибуты, нет проблем.

Я перепробовал всевозможные варианты вызова gunicorn (например, находясь в папке проекта и говоря gunicorn unified: app , being the parent folder and using папка gunicorn: app , папка gunicorn: unified`. Я знаю, что это может работать, потому что раньше работал. Но я не могу понять, что происходит сейчас, ради жизни.

Я ожидаю, что он будет работать так же, как когда я запускаю приложение с python, используя python unified.py.

Был момент, когда я подумал, что решил эту проблему, потому что я начал получать другую ошибку (говоря, что я не могу получить файл .pkl из другой папки), но затем я закомментировал эти строки в моем файле unified.py и это вернулось к той же Application must be callable ошибке!

1 Ответ

0 голосов
/ 11 мая 2019

gunicorn unified:app.server

Перекрестная ссылка с форумов Plotly, где я нашел решение: https://community.plot.ly/t/error-with-gunicorn/8247

...