使用 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 服务器中使用 Voilà(例如,在运行 jupyter lab
或 jupyter notebook
之后)。
注意
Voilà 也可以用作笔记本服务器扩展,与 notebook 服务器或 jupyter_server 一起使用。
要在预先存在的 Jupyter 服务器中使用 Voilà,首先启动服务器,然后转到以下 URL
<url-of-my-server>/voila
例如,如果您键入了 jupyter lab
并且它在 http://localhost:8888/lab
上运行,那么 Voilà 将在 http://localhost:8888/voila
上访问。
在这种情况下,Voilà 将提供启动 Jupyter 服务器的目录的服务。
Voilà 如何工作?#
当 Voilà 在笔记本上运行时,会发生以下步骤
Voilà 运行笔记本中的代码并收集输出
笔记本及其输出被转换为 HTML。默认情况下,笔记本 代码单元格被隐藏。
此页面作为 Tornado 应用程序或通过 Jupyter 服务器提供服务。
当用户访问页面时,页面上的小部件可以访问底层的 Jupyter 内核。
示例笔记本#
notebooks 目录 包含可以使用 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