我正在尝试运行一个带有端口代码的绘图dash应用程序,当我第一次能够在端口上看到它时,但当我尝试重新运行它并进行任何更改时,它显示了一个错误
OSError: [Errno 98] Address already in use因为我是在虚拟机上运行它,所以我不能在每次运行notebook cell时都更改端口。所以我想在相同的端口上运行相同的应用程序。但是我收到了上面的错误。以下是示例代码
import dash
import plotly.express as px
from jupyter_dash import JupyterDash
import dash_core_components as dcc
import dash_html_components as HTML
from dash.dependencies import Input, Output
app = dash.Dash("SimpleExample")
app.layout = html.Div([dcc.RadioItems(id='dropdown-color',
options=[{'label': c, 'value': c.lower()}
for c in ['Red', 'Green', 'Blue']],value='red'),
html.Div(id='output-color'),dcc.RadioItems(id='dropdown-size',
options=[{'label': i, 'value': j}
for i, j in [('L','large'), ('M','medium'), ('S','small')]],
value='medium'),
html.Div(id='output-size')])
@app.callback(
dash.dependencies.Output('output-color', 'children'),
[dash.dependencies.Input('dropdown-color', 'value')])
def callback_color(dropdown_value):
return "The selected color is %s." % dropdown_value
@app.callback(
dash.dependencies.Output('output-size', 'children'),
[dash.dependencies.Input('dropdown-color', 'value'),
dash.dependencies.Input('dropdown-size', 'value')])
def callback_size(dropdown_color, dropdown_size):
return "The chosen T-shirt is a %s %s one." %(dropdown_size,
dropdown_color)
if __name__ == '__main__':
app.run_server(port = 8021, debug = True)帮助提供可能的解决方案
发布于 2020-06-09 21:24:38
在我看来,jupyter并不是for服务器的正确选择。
您面临的问题是,重新运行计算单元时,该端口已经在使用中,因为前一个计算单元中的应用程序正在使用它。
你可以实现一个条件smth,比如如果app没有定义,那么就关闭,否则忽略。
https://stackoverflow.com/questions/62282768
复制相似问题