Gunicorn“应用程序对象必须可调用”错误

时间:2019-05-09 16:10:00

标签: python gunicorn hyphen

我正在尝试使用gunicorn和nginx部署用Dash编写的应用程序。几个月前,当我知道自己在做什么时,我成功地部署了该应用程序。我想进行一些更新并重新部署,但是即使我删除了所有更新,现在部署也无法正常工作。当我运行gunicorn时,出现错误Application must be callable

我的项目在folder中,该项目包含unified.py文件,该文件包含我的应用。在unified.pyapp = dash.Dash(__name__, external_stylesheets=external_stylesheets)中,我将app变量定义为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 unified.py使用python运行应用程序时的运行方式。

有一瞬间我以为我解决了这个问题,因为我开始遇到另一个错误(说我无法从另一个文件夹中获取.pkl文件),但是后来我在unified.py中注释掉了这些行文件,并返回到相同的Application must be callable错误!

1 个答案:

答案 0 :(得分:0)

gunicorn unified:app.server

在Plotly论坛上找到解决方案的交叉参考: https://community.plot.ly/t/error-with-gunicorn/8247