我已经写了一个Dash应用程序,但当我运行它时,我不会得到本地主机的URL打印到我的控制台上,只要应用程序处于活动状态,脚本就保持打开状态.相反,脚本终止,我的控制台的最终输出是:
starting app...
<IPython.lib.display.IFrame at 0x238562976a0>
In [19]:
我期望:
Dash is running on http://127.0.0.1:8050/
* Serving Flask app 'app' (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:8050 (Press CTRL+C to quit)
我在一个Conda环境中工作,dash/plotly/python版本是:
plotly 5.16.1 pypi_0 pypi
dash 2.11.1 pypi_0 pypi
dash-core-components 2.0.0 pypi_0 pypi
dash-html-components 2.0.0 pypi_0 pypi
dash-table 5.0.0 pypi_0 pypi
python 3.10.9 h966fe2a_2
Dash是按照建议的here通过pip导入的,并且与DashBundle 在一起,而不是由我显式安装--最初我将两者与Conda Forge分开安装,这给了我预期的正常行为(URL打印到控制台等),但应用程序本身是broken(所以我重新设计了我的环境,并获得了此处描述的问题).当我在浏览器中导航到本地主机时,应用程序本身似乎确实可以运行,但我怀疑它不会更新,因为应用程序似乎已经停止在控制台中运行.
我的应用程序是:
import plotly.graph_objects as go
from dash import Dash, callback, html, dcc, dash_table, Input, Output, State, MATCH, ALL
app = Dash(__name__)
user_files = list(app_data.keys())
app.layout = html.Div([dcc.Tabs(id = 'user_tabs',
value = 'Single metric',
vertical = True,
children = [dcc.Tab(label = 'Single metric',
children=[html.Div([dcc.Dropdown(user_files,
user_files[0],
id='json_dropdown')
]),
html.Div([dcc.Dropdown(id='record_dropdown')
]),
html.Div([dcc.Dropdown(id='bgc_dropdown')
]),
html.Div([dcc.Dropdown(['vis1',
'vis2',
'vis3',
'vis4'],
'vis1',
id='vis_dropdown')
]),
html.Div([dcc.Dropdown(mib_values,
mib_values[0],
id='mib_value')
],id = 'mib_tab_style'),
html.Div([dcc.Dropdown(operations,
operations[0],
id='mib_operation')
],id = 'operation_tab_style'),
html.Div([dcc.Graph(id='single_graph')],
style = {'width': '50%'}),
])]
)])
if __name__ == '__main__':
print ('launching app')
app.run(debug = False)