使 Jupyter notebook 以 html 格式执行
Posted
技术标签:
【中文标题】使 Jupyter notebook 以 html 格式执行【英文标题】:Make Jupyter notebook executable in html format 【发布时间】:2021-04-12 13:45:28 【问题描述】:我正在尝试以 html 格式导出 Jupyter 笔记本,以获取它的可执行版本。到目前为止,我的做法是将 notebook 上传到 git 存储库中,然后使用 binder 获取其可执行版本。我想在我的网页上上传笔记本而不传递活页夹项目的链接。这可能吗?
我阅读了有关 nbinteract 并看到有关制作动态小部件的教程,但在这里我试图使笔记本中的整个代码动态化。
有什么建议吗?
【问题讨论】:
【参考方案1】:你不能。 jupyter
需要一个服务器来执行python代码。
如果您想在浏览器中执行一些 python 代码(或您的笔记本),您可以查看 https://github.com/gzuidhof/starboard-notebook 或 https://github.com/pyodide/pyodide。
pyodide
文档的摘录:
Pyodide 通过 WebAssembly 将 Python 3.8 运行时引入浏览器, 以及 Python 科学堆栈,包括 NumPy、Pandas、 Matplotlib、SciPy 和 scikit-learn。
【讨论】:
感谢您的回答。实际上,我有一个安装了jupyter服务器的sinology NAS。我的网站也使用相同的 NAS。同样在这种情况下是不是不可能整合它们?我想获得类似于本网站教科书节目的东西qiskit.org/textbook/ch-gates/… 是的,你可以看看瞧。 github.com/voila-dashboards/voila【参考方案2】:您可以通过多种方式使用 Jupyter 内核从 HTML 页面中的代码单元执行代码:
使用thebelab.js:此javascript 包允许您启动远程MyBinder 内核或连接到预先存在的Jupyter 服务器,然后将代码从HTML 页面发送到远程内核。远程内核执行代码,并将响应/代码输出返回到 HTML 页面,然后 HTML 页面可以渲染它。输出可以包括 HTML 小部件。
使用 nbinteract
从笔记本创建一个 HTML 页面,该页面可以在远程 MyBinder 服务器上执行代码,以在 HTML 页面中为交互式 ipywidgets
提供动力。
使用 jupyter-book
生成交互式 HTML 教科书/文档站点,该站点已配置为针对使用 thebelab.js
启动和管理的远程内核执行代码。
您也可以使用jupyterlite
:jupyterlite
是 JupyterLab 和 RetroLab UI 的浏览器内实现,完全在浏览器中运行。代码是针对 WASM 实现的内核执行的。 目前可以使用 Python (pyodide)、Javascript 和 p5 内核。
【讨论】:
以上是关于使 Jupyter notebook 以 html 格式执行的主要内容,如果未能解决你的问题,请参考以下文章
从 jupyter-notebook 下载 HTML 文件到本地