簡體   English   中英

Python 帶女服務員的 Dash 服務器

[英]Python Dash server with waitress

我有一個用 Dash 框架編寫的儀表板應用程序。 它還有一些使用 flask 編寫的 Restful API。 我將 flask 應用程序添加到 Dash 服務器,如

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)時工作正常,但是當我使用 waitress 運行服務器時它會拋出異常。 當我使用以下幾行

#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

所以代替這個:

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

像這樣傳遞 Flask 應用程序實例:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM