带服务员的Python Dash服务器

带服务员的Python Dash服务器,python,python-3.x,flask,plotly-dash,waitress,Python,Python 3.x,Flask,Plotly Dash,Waitress,我有一个用Dash框架编写的仪表板应用程序。 它还使用flask编写了一些Restful API。 我正在向Dash服务器添加flask应用程序,如下所示 import dash import flask import dash_bootstrap_components as dbc flask_server = flask.Flask(__name__) app = dash.Dash(__name__,server=flask_server, external_stylesheets=[d

我有一个用Dash框架编写的仪表板应用程序。 它还使用flask编写了一些Restful API。 我正在向Dash服务器添加flask应用程序,如下所示

import dash
import flask
import dash_bootstrap_components as dbc

flask_server = flask.Flask(__name__)
app = dash.Dash(__name__,server=flask_server, external_stylesheets=[dbc.themes.BOOTSTRAP])
我正在运行服务器

from dashboard import app
from waitress import serve

if __name__ == "__main__":
    app.title = 'Litmus'
    app.run_server(debug=False)
    # serve(app,host="0.0.0.0",port=8050)
当我使用
app.run_server(debug=False)
时,上面的代码可以正常工作,但当我使用waitess运行服务器时,它会抛出异常。 当我使用下列行时

#app.run_server(debug=False)
serve(app,host="0.0.0.0",port=8050)
我得到以下错误

ERROR:waitress:Exception while serving /
Traceback (most recent call last):
  File "C:\Users\litmus\AppData\Roaming\Python\Python38\site-packages\waitress\channel.py", line 397, in service
    task.service()
  File "C:\Users\litmus\AppData\Roaming\Python\Python38\site-packages\waitress\task.py", line 168, in service
    self.execute()
  File "C:\Users\litmus\AppData\Roaming\Python\Python38\site-packages\waitress\task.py", line 434, in execute
    app_iter = self.channel.server.application(environ, start_response)
TypeError: 'Dash' object is not callable
ERROR:waitress:Exception while serving /favicon.ico
Traceback (most recent call last):
  File "C:\Users\litmus\AppData\Roaming\Python\Python38\site-packages\waitress\channel.py", line 397, in service
    task.service()
  File "C:\Users\litmus\AppData\Roaming\Python\Python38\site-packages\waitress\task.py", line 168, in service
    self.execute()
  File "C:\Users\litmus\AppData\Roaming\Python\Python38\site-packages\waitress\task.py", line 434, in execute
    app_iter = self.channel.server.application(environ, start_response)
TypeError: 'Dash' object is not callable

它不起作用,因为您正在将Dash应用程序而不是Flask应用程序传递到
服务

因此,与此相反:

serve(app,host="0.0.0.0",port=8050)
按如下方式传递Flask应用程序实例:

serve(app.server, host="0.0.0.0", port=8050)