Я пытаюсь развернуть приложение, написанное на 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
ошибке!