使用 Voilà#

Voilà 可以作为独立应用程序使用,也可以作为 Jupyter 服务器扩展使用。本页介绍如何执行这两种操作。在开始之前,请确保按照安装 Voilà中的步骤进行操作。

以下部分介绍了如何使用 Voilà。

作为独立应用程序#

Voilà 可以用于运行、转换和将 Jupyter 笔记本作为独立应用程序提供服务。这可以通过命令行完成,模式如下

voila <path-to-notebook> <options>

例如,要将bqplot示例笔记本渲染为独立应用程序,请运行

git clone https://github.com/voila-dashboards/voila
cd voila
voila notebooks/bqplot.ipynb

当您的基于笔记本的应用程序启动时,Voilà 会显示一条消息。默认情况下,Voilà 在localhost:8866上运行。

要提供Jupyter 笔记本目录,请导航到您要提供的目录,然后简单运行voila

cd notebooks/
voila

现在,由 Voilà 提供的页面将包含目录中所有笔记本的列表。单击其中一个将触发 Voilà 的转换过程。每次单击笔记本时,都会创建一个新的 Jupyter 内核。

作为 Jupyter 服务器扩展#

您还可以在 Jupyter 服务器中(例如,在运行jupyter labjupyter notebook之后)使用 Voilà。

注意

Voilà 还可以用作笔记本服务器扩展,无论是与笔记本服务器还是与jupyter_server一起使用。

要在预先存在的 Jupyter 服务器中使用 Voilà,首先启动服务器,然后转到以下 URL

<url-of-my-server>/voila

例如,如果您键入jupyter lab并且它在https://:8888/lab上运行,那么 Voilà 将在https://:8888/voila上访问。

在这种情况下,Voilà 将提供 Jupyter 服务器启动所在的目录。

Voilà 如何工作?#

当 Voilà 在笔记本上运行时,会发生以下步骤

  1. Voilà 运行笔记本中的代码并收集输出

  2. 笔记本及其输出被转换为 HTML。默认情况下,笔记本的代码单元格是隐藏的

  3. 此页面作为 Tornado 应用程序或通过 Jupyter 服务器提供。

  4. 当用户访问页面时,页面上的小部件可以访问底层的 Jupyter 内核。

示例笔记本#

笔记本目录包含一组可以使用 Voilà 渲染的 Jupyter 笔记本

  • basics.ipynb - 一个需要往返内核的交互式笔记本。

  • bqplot.ipynb - 使用自定义 Jupyter 小部件,例如bqplot

  • dashboard.ipynb - 使用 gridstack.js 进行每个输出的布局。

  • gridspecLayout.ipynb - 使用GridspecLayout进行不同小部件的布局。

  • interactive.ipynb - 使用 ipywidget 的 @interact。

  • ipympl.ipynb - 包含使用ipympl小部件的自定义交互式 matplotlib 图形。

  • ipyvolume.ipynb - 使用自定义 Jupyter 小部件,例如ipyvolume

  • query-strings.ipynb - 使用 HTTP 查询参数对笔记本进行参数化

  • xleaflet.ipynb - 一个使用 C++ 内核和交互式小部件的笔记本

这些示例展示了不同的交互式 HTML 小部件,可以作为开始使用 Voilà 的灵感。

运行示例笔记本,可以使用以下方式安装一些额外的库

conda install -c conda-forge ipywidgets ipyvolume bqplot scipy

或者

conda env create

然后可以使用以下方式提供示例

cd notebooks/
voila