Как запустить приложение Bokeh в блокноте Jupyter? - PullRequest
0 голосов
/ 29 мая 2020

Я хочу создать и запустить приложение для боке в блокноте Jupyter. Чтобы попробовать, я загрузил код из учебника по боке

from bokeh.io import output_notebook, show
output_notebook()
from bokeh.layouts import column
from bokeh.models import TextInput, Button, Paragraph

def modify_doc(doc):

    # create some widgets
    button = Button(label="Say HI")
    input = TextInput(value="Bokeh")
    output = Paragraph()

    # add a callback to a widget
    def update():
        output.text = "Hello, " + input.value
    button.on_click(update)

    # create a layout for everything
    layout = column(button, input, output)

    # add the layout to curdoc
    doc.add_root(layout)

# In the notebook, just pass the function that defines the app to show
# You may need to supply notebook_url, e.g notebook_url="http://localhost:8889" 
show(modify_doc, notebook_url="http://localhost:8888") 

Когда я запускаю его в блокноте Jupyter, я получаю сообщение об ошибке ниже:

ОШИБКА: tornado.application: Неперехваченное исключение в / ws Traceback (последний вызов последним): файл "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ tornado \ websocket.py", строка 494, в _run_callback result = callback (* args, ** kwargs) Файл "C: \ Users \ 123058850 \ AppData \ Roaming \ Python \ Python36 \ site-packages \ bokeh \ server \ views \ ws.py", строка 121, открыт, если self.selected_subprotocol! = 'Bokeh': AttributeError : Объект WSHandler не имеет атрибута selected_subprotocol

Не могли бы вы помочь мне понять, что не так?

1 Ответ

0 голосов
/ 29 мая 2020

Если кажется, что в вашем окружении, у вас каким-то образом установлена ​​старая версия Tornado. tornado.websocket.WebSocketHandler.selected_subprotocol появился в Торнадо 5.1.

...