«Сохранение в Python» подразумевает, что на самом деле выполняется процесс Python для значения, которое будет сохранено. Но когда вы запускаете скрипт, подобный приведенному выше, это не так.Последовательность событий:
- Запуск интерпретатора Python запускает ваш скрипт
- Статический вывод HTML / JS / CSS сохраняется с виджетом слайдера
- Pythonпроцесс завершается
Таким образом, это не стартер.Чтобы «Хранение в Python» имело смысл, должен существовать какой-то постоянный и длительный процесс Python.Этот процесс - Bokeh Server (он был создан специально для выполнения этой роли).Типичная версия вашего кода для серверного приложения Bokeh может выглядеть следующим образом:
from bokeh.io import curdoc
from bokeh.models.widgets import Slider
slider = Slider(start=0, end=10, value=1, step=.1, title="Stuff")
def callback(attr, old, new):
# do something here with new slider values
slider.on_change('value', callback)
curdoc().add_root(slider)
И это будет выполняться в командной строке с помощью команды bokeh serve
(не работает как «обычный» сценарий Python):
bokeh serve --show app.py
--show
автоматически откроет веб-браузер.
Также возможно встроить серверные приложения Bokeh в ноутбуки Jupyter.Вы можете найти пример записной книжки, которую вы можете запустить локально здесь .