我正在尝试使用gunicorn和nginx部署用Dash编写的应用程序。几个月前,当我知道自己在做什么时,我成功地部署了该应用程序。我想进行一些更新并重新部署,但是即使我删除了所有更新,现在部署也无法正常工作。当我运行gunicorn时,出现错误Application must be callable
。
我的项目在folder
中,该项目包含unified.py
文件,该文件包含我的应用。在unified.py
,app = 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
错误!
答案 0 :(得分:0)
gunicorn unified:app.server
在Plotly论坛上找到解决方案的交叉参考: https://community.plot.ly/t/error-with-gunicorn/8247