我正在尝试使用 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调用的各种变体(例如在项目文件夹中并说gunicornunified:app , being the parent folder and usingGunicorn文件夹:app ,Gunicorn文件夹:unified`。我知道它可以工作,因为它以前工作过。但对于生活对我来说,我无法弄清楚现在发生了什么。
我希望它的运行方式与我使用 python 使用python unified.py.
有一段时间我以为我解决了它,因为我开始收到不同的错误(说我无法从另一个文件夹获取 .pkl 文件),但后来我注释掉了文件中的这些行,unified.py它又回到了相同的状态Application must be callable错误!