Jupyter: встраивайте интерактивные виджеты в реальном времени

Согласно блогу Jupyter, здесь, теперь можно встраивать интерактивные виджеты в статическая веб-страница:

Интерактивные виджеты в реальном времени теперь можно встраивать в статические веб-страницы или блоги, вставив фрагмент HTML, содержащий сериализованное состояние виджета. Это также работает с пользовательскими библиотеками виджетов. См. http://jupyter.org/embed-jupyter-widgets.html.

Когда я открываю приведенный выше пример в firefox или chrome, интерактивные виджеты получаются нормально!

Однако, если я создаю новую записную книжку с тем же фрагментом кода Python, сохраняю записную книжку как html, а затем копирую и вставляю встраиваемый фрагмент HTML для визуализации интерактивных виджетов, это не работает. В лучшем случае я получаю изображение состояния виджета, но ничего интерактивного.

Кому-нибудь удалось реплицировать HTML-страницу с интерактивными виджетами? Что-то мне не хватает?


person Ely    schedule 05.09.2016    source источник
comment
так ты когда-нибудь понял это?   -  person James Draper    schedule 08.05.2017
comment
Нет, это все еще нерешенная проблема! Я также пробовал связывать: mybinder.org. Виджеты также не отображаются в подшивке (хотя это другая проблема). Но если возможно, я бы предпочел встроить виджеты в html ...   -  person Ely    schedule 10.05.2017
comment
Какая жалость. Это как бы сводит на нет всю цель наличия виджетов, если они не работают в статической реализации, где конечные пользователи могут взаимодействовать с ними.   -  person James Draper    schedule 15.05.2017
comment
Вы читали последнюю документацию по ipywidgets 7? Это может помочь вам в этом разобраться. ipywidgets.readthedocs.io/en/latest/embedding.html   -  person Vidar    schedule 14.09.2017
comment
@vidar, спасибо, это действительно помогло! Мне пришлось на время прекратить работу над этим проектом, но я постараюсь, когда у меня будет время :)   -  person Ely    schedule 29.08.2018


Ответы (2)


Мы сделали Kyso именно для этого. Вы можете встроить блокнот jupyter в веб-сайт с помощью kyso.io, и пока виджеты поддерживаются панелью управления BokehJS, блокнот будет интерактивным. Вот пример

PS. (отказ от ответственности - я основатель kyso)

person hdm    schedule 01.02.2018

Прошло много времени с тех пор, как этот вопрос задавали, но я отвечу современными технологиями.

Для встраивания интерактивных виджетов вам понадобится серверная часть, но есть проект под названием MyBinder, который можно использовать как серверную часть в облаке бесплатно. Это было использовано в качестве основы библиотеки под названием NBinteract, которая может преобразовывать любые блокнот с интерактивными виджетами на одной веб-странице HTML.

Эти HTML-файлы загружают сценарий с компакт-диска и самостоятельно управляют всем взаимодействием с MyBinder.

На их веб-сайте есть несколько примеров, и я также опубликовал сообщение в моем блоге, где Я использовал эту технологию вместе с Dockerfile, ffmpeg, matplotlib, анимацией и интерактивными виджетами. Так что я считаю этот подход достаточно надежным и гибким.

В официальных документах говорится, что вам нужно репо, но мне удалось использовать вместо этого gists, и отправил проблему в основном репо, объясняя, как это сделать.

person Ezequiel Castaño    schedule 25.01.2019