I'm getting an error when trying to run a simple dashboard using Dash. I'm using Spyder with Python 3.4. I've pip installed
dash, dash_core_components, dash_html_compenents
..
My code:
import dash
import dash_core_components as dcc
import dash_html_components as html
app = dash.Dash()
app.layout = html.Div(children=[
html.H1(children='Hello Dash'),
html.Div(children='''
Dash: A web application framework for Python.
'''),
dcc.Graph(
id='example-graph',
figure={
'data': [
{'x': [1, 2, 3], 'y': [4, 1, 2], 'type': 'bar', 'name': 'SF'},
{'x': [1, 2, 3], 'y': [2, 4, 5], 'type': 'bar', 'name': u'Montréal'},
],
'layout': {
'title': 'Dash Data Visualization'
}
}
)
])
if __name__ == '__main__':
app.run_server(debug=True)
This was taken right from Dash/Plotly website tutorial
I get the following error:
* Running on http://127.0.0.1:8050/ (Press CTRL+C to quit)
* Restarting with stat
C:\Users\mwolfe\AppData\Local\Continuum\anaconda3\envs\py34\lib\site-packages\IPython\core\interactiveshell.py:2889: UserWarning:
To exit: use 'exit', 'quit', or Ctrl-D.
An exception has occurred, use %tb to see the full traceback.
SystemExit: 1
When I go to http://127.0.0.1:8050/
to try to view the example dashboard It won't load.
I've tried this in order to fix the issue, but haven't been able to get that to work.
Now Spyder, Python, IPython seem to work fine, however, when trying to open a new IPython console in Spyder, I get the following error:
If so, this is a basic user error and a very bad idea because it shadows the builtin string library, so you should rename or remove it to fix the problem. If that's not it, try the other steps in the Spyder troubleshooting guide since something's likely wrong with your install in that case.
In fact, it is enough to set up on “Tool/PYTHONPATH manager” on Spyder the path of where your local machine is downloading and storing the installed modules via pip, save, close and re-launch Spyder. Easy, no? :) Here some screenshots for guidance:
In fact, Spyder has no formal relationship (financial or otherwise) with Anaconda, and we have no direct control over your installation, machine, or the third-party dependencies upon which Spyder relies.
Update on Pechi's answer: now setting debug=False works inside Jupyter Notebook as well. I tested Matt's code in there and the URL works fine.
However, I think the problem is mainly with the use_reloader. You have to set that to False in Jupyter Notebook (according to Plotly documentation). So, this also works in notebook for me:
import dash
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output
app = dash.Dash()
app.layout = html.Div(
html.H1(children="Hello000")
)
if __name__ == '__main__':
app.run_server(debug=True, use_reloader=False). <---- Here
Also, make sure any previous app you have initiated is stopped already (ctrl + c or simply use the square button in notebook (or press 'i' twice on your keyboard) for stopping the execution).
Setting debug=False
does solve the problem, but not with Jupyter notebook and Spyder. The code goes into limbo when executed with notebook/spyder.
Change your code to debug=False
and execute it in PyQt console that comes with Anaconda Navigator. It works.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With