I am attempting to run the following code from jupyter notebook:
import dash
import dash_core_components as dcc
import dash_html_components as html
external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']
app = dash.Dash(__name__, external_stylesheets=external_stylesheets)
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)
It produces the following:
 * Serving Flask app "__main__" (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: on
 * Running on http://127.0.0.1:8050/ (Press CTRL+C to quit)
 * Restarting with stat
An exception has occurred, use %tb to see the full traceback.
SystemExit: 1
//anaconda3/lib/python3.7/site-packages/IPython/core/interactiveshell.py:3333: UserWarning:
To exit: use 'exit', 'quit', or Ctrl-D.
When I click on http://127.0.0.1:8050/ , the page never loads. I've been trying this for awhile now. Is there something in the response that I am missing? This should be a basic dash application.
Here is the traceback:
---------------------------------------------------------------------------
SystemExit                                Traceback (most recent call last)
<ipython-input-1-b057c246c3cf> in <module>
     29 
     30 if __name__ == '__main__':
---> 31     app.run_server(debug=True)
     32 
     33 get_ipython().run_line_magic('tb', '')
//anaconda3/lib/python3.7/site-packages/dash/dash.py in run_server(self, port, debug, **flask_run_options)
    566                    debug=False,
    567                    **flask_run_options):
--> 568         self.server.run(port=port, debug=debug, **flask_run_options)
//anaconda3/lib/python3.7/site-packages/flask/app.py in run(self, host, port, debug, load_dotenv, **options)
    988 
    989         try:
--> 990             run_simple(host, port, self, **options)
    991         finally:
    992             # reset the first request information if the development server
//anaconda3/lib/python3.7/site-packages/werkzeug/serving.py in run_simple(hostname, port, application, use_reloader, use_debugger, use_evalex, extra_files, reloader_interval, reloader_type, threaded, processes, request_handler, static_files, passthrough_errors, ssl_context)
   1005         from ._reloader import run_with_reloader
   1006 
-> 1007         run_with_reloader(inner, extra_files, reloader_interval, reloader_type)
   1008     else:
   1009         inner()
//anaconda3/lib/python3.7/site-packages/werkzeug/_reloader.py in run_with_reloader(main_func, extra_files, interval, reloader_type)
    330             reloader.run()
    331         else:
--> 332             sys.exit(reloader.restart_with_reloader())
    333     except KeyboardInterrupt:
    334         pass
SystemExit: 1
                Compared to traditional visualization tools like Tableau, Plotly allows full control over what is being plotted. Since Plotly is plotted based on Pandas, you can easily perform complex transformations to your data before plotting it.
Step 3: At first, the terminal of Anaconda or Conda should be opened. Then the following command should be used conda install -c conda-forge dash, it is sufficient to install all dependencies (renderer, components, plotly..) Step 3: After that, the installation will be completed.
Yes. Plotly's Dash analytics application framework is also free and open-source software, licensed under the MIT license.
Dash is a python framework created by plotly for creating interactive web applications. Dash is written on the top of Flask, Plotly.
Out of the box, as stated by a previous answer, you can't run debug=True. Hence people stick with:
On jupyter, do:
if __name__ == '__main__':
    app.run_server()
on editor such as VSCode, you can do:
if __name__ == '__main__':
    app.run_server(debug=True)
You're still keen on using Jupyter instead of a code editor?
The discussion of the issue started from this resolved Github issue; the need to disable debug was highlighted here in plotly; and the discussion gave birth to jupyter-dash as a solution.
The problem is that:
Enabling the debug mode directly enables the reloader. In turn, the reloader will cause any Flask app to be initialized twice at startup this is what Jupyter can't cope with. Infact, you can even run debug=True in jupyter provided you disable the reloader. 
Thus, you can do:
if __name__ == '__main__':
    app.run_server(debug=True, use_reloader=False)
                        You can't run dash in debug mode on a jupyter notebook, you'll have to disable debug mode or move to a good old fashion text editor/IDE:
if __name__ == '__main__':
    app.run_server(debug=False)
                        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