Ошибка при попытке инициализировать Dash в консоли Spyder IPython

Я получаю сообщение об ошибке при попытке запустить простую панель управления с помощью Dash. Я использую Spyder с Python 3.4. Я pip installed dash, dash_core_components, dash_html_compenents ..

Мой код:

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)

Это было взято прямо из руководства по веб-сайту Dash / Plotly

Я получаю следующую ошибку:

 * 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

Когда я перехожу к http://127.0.0.1:8050/, чтобы попытаться просмотреть пример панели инструментов, он не загружается.

Я пробовал это, чтобы исправить проблему, но не удалось заставить это работать.


person Matt W.    schedule 19.03.2018    source источник
comment
Вы пробовали просмотреть полную трассировку?   -  person Jacobian    schedule 19.03.2018
comment
(Сопровождающий Spyder здесь) Пожалуйста, откройте ошибку в нашем трекере проблем так что мы можем попытаться исправить / улучшить это на нашей стороне. Я знаю, почему это происходит, но не знаю, как Dash генерирует эту ошибку.   -  person Carlos Cordoba    schedule 20.03.2018
comment
Если это задерживает вашу разработку, вы можете попробовать запустить приложение Dash из командной строки. Кроме того, на случай, если это поможет, я задокументировал свой опыт создания приложения Dash (и развертывания на Heroku) здесь   -  person zelusp    schedule 26.03.2018
comment
Попробуйте установить для параметра Debug значение False. У меня это сработало.   -  person ScarletAndGray    schedule 27.04.2018
comment
@ScarletAndGray Spyder зависает, когда я устанавливаю debug = False   -  person Tinkinc    schedule 05.12.2018
comment
Возможно, это было исправлено за последние несколько месяцев, так что на случай, если у кого-то все еще есть проблемы. Установка для Debug значения False действительно позволяет отображать учебный пример в Spyder 3.3.6.   -  person Tunneller    schedule 26.04.2020


Ответы (2)


Обновление ответа Печи: теперь установка debug = False также работает внутри Jupyter Notebook. Я протестировал там код Мэтта, и URL-адрес работает нормально.

Однако я думаю, что проблема в основном в use_reloader. Вы должны установить для него значение False в Jupyter Notebook (согласно документации Plotly). Итак, это также работает для меня в записной книжке:

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

Кроме того, убедитесь, что любое предыдущее запущенное вами приложение уже остановлено (ctrl + c или просто используйте квадратную кнопку в записной книжке (или дважды нажмите «i» на клавиатуре), чтобы остановить выполнение).

person pegah    schedule 07.05.2020

Установка debug=False действительно решает проблему, но не с Jupyter notebook и Spyder. Код находится в подвешенном состоянии при выполнении с помощью notebook / spyder.

Измените код на debug=False и выполните его в консоли PyQt, которая поставляется с Anaconda Navigator. Оно работает.

person Pechi    schedule 08.04.2019
comment
Ага, но почему? Что, если я хочу запустить режим отладки? - person Quastiat; 11.05.2020
comment
Я считаю, что debug = False позволяет вашим изменениям кода отражаться на панели инструментов в режиме реального времени. - person Pechi; 13.05.2020