我有一个Jupyter笔记本,它绘制一些数据并让用户通过滑块与它进行交互。
制作具有类似功能的网络应用最简单的方法是什么? (重复使用尽可能多的代码......)
答案 0 :(得分:1)
Jupyter Incubator的Jupyter Dashboards Bundlers扩展是保持交互性的一种方式。
编辑:虽然安装此软件包的pip
也会安装cms
软件包依赖项,例如dashboard_bundlers
,但cms
需要明确启用/快速设置为笔记本仪表板工具的扩展工作。
答案 1 :(得分:1)
AppMode是“ Jupyter扩展,它将笔记本变成Web应用程序”。
自述文件:
Appmode由服务器端和Jupyter的笔记本扩展组成。 这两个扩展一起提供了以下功能:
一个人可以通过单击工具栏上的Appmode按钮来查看任何处于appmode的笔记本。或者,您可以从 baseurl / notebooks / foo.ipynb到baseurl / apps / foo.ipynb。这也是 允许直接链接到appmode。
在app模式下打开笔记本时,将自动执行所有代码单元。为了呈现干净的UI,所有代码单元 隐藏,降价单元格为只读。
笔记本可以在appmode下多次打开而不会受到干扰。这是通过创建临时副本来实现的。 每个活动appmode视图的笔记本。每个appmode视图都有其 专用的ipython内核。当关闭appmode页面时,内核为 关闭并删除临时副本。
为允许通过url参数在笔记本之间传递信息,当前url被注入变量中 jupyter_notebook_url。
答案 2 :(得分:1)
我相信最简单的方法是使用voilà。
安装后,您只需运行:
voila <path-to-notebook> <options>
您将拥有一台作为网络应用程序运行笔记本电脑的服务器,所有输入代码都将省略。
答案 3 :(得分:1)
为了完整起见-还存在https://www.streamlit.io/。
我仍然不了解voila
和streamlit
之间的确切区别。
目前,我只是想用新的参数重新运行所有内容……我对voila
仍然感到不走运。
编辑:我看到streamlit
需要一个原始的python,而不是.ipynb,这个事实意味着这个答案是完全错误的,在进一步采取行动/发表评论之前,我将在streamlit
上进行一些搜索
Edit2:Voila
看起来很棒。但是,我发现几乎没有什么东西可以揭示潜在的复杂性,因此可能会引起麻烦。
Voila
中起作用。 matplotlib
有一个便宜的解决方案,但是对于jsroot 毕竟,我对自己提出一个问题-学习对jupyter的许多技巧和修改还是使用其他一些系统更好?我要看看streamlit
是否可以提供给出一些答案。
答案 4 :(得分:0)
@raphaelts有一个正确的想法,应该被接受。截至2019年12月,Voila是将Jupyter笔记本作为独立Web应用程序部署到生产中的最合适方法。考虑内部数据科学团队使用SPA stlye笔记本与内部C-Suite团队共享其分析工作负载,并隐藏所有代码并添加自定义GUI /交互。最近在HN上进行了讨论 https://news.ycombinator.com/item?id=20160634和Jupyter维护者https://blog.jupyter.org/and-voil%C3%A0-f6a2c08a4a93 enter link description here
的正式公告