Plotly Dash ZMQError:地址已在使用中

Far*_*aif 4 python plotly-dash

我正在测试 Plotly Dash 作为可能的仪表板工具。

我正在尝试运行文档中找到的图表之一:https ://plotly.com/python/bar-charts/

import dash
from dash import dcc
from dash import html
from dash.dependencies import Input, Output
import plotly.express as px

df = px.data.tips()
days = df.day.unique()

app = dash.Dash(__name__)

app.layout = html.Div([
    dcc.Dropdown(
        id="dropdown",
        options=[{"label": x, "value": x} for x in days],
        value=days[0],
        clearable=False,
    ),
    dcc.Graph(id="bar-chart"),
])

@app.callback(
    Output("bar-chart", "figure"), 
    [Input("dropdown", "value")])
def update_bar_chart(day):
    mask = df["day"] == day
    fig = px.bar(df[mask], x="sex", y="total_bill", 
                 color="smoker", barmode="group")
    return fig

app.run_server(debug=True, port=8049)
Run Code Online (Sandbox Code Playgroud)

当我运行这个时,我收到一个错误。这是跟踪回调的结尾:

File "zmq/backend/cython/checkrc.pxd", line 28, in zmq.backend.cython.checkrc._check_rc
zmq.error.ZMQError: Address already in use
Run Code Online (Sandbox Code Playgroud)

正如您从我的示例中看到的,我已经尝试更改端口以避免此错误。我尝试了8050左右的很多端口,但它们似乎都“已在使用中”。我的猜测是,Dash 保留了该端口,然后尝试使用它,但发现它已经被保留,而不知道它是为即将执行的进程保留的。

有谁知道如何修复这个错误?

Ana*_*ant 5

jupyter-notebook如果您从或运行它jupyter-lab,则应按以下方式运行应用程序服务器:

app.run_server(debug=True, port=8049, use_reloader=False)
Run Code Online (Sandbox Code Playgroud)