添加内核#

默认情况下,用于创建 JupyterLite 网站的 jupyterlite-core 软件包不包含任何内核。

如果您使用 jupyter lite build 构建 JupyterLite 网站,但没有安装任何内核,则打开应用程序时可能会看到以下启动器:

a screenshot showing a JupyterLite instance with no kernel available

要添加内核,您需要在用于构建网站的环境中安装相应的 Python 软件包。

选择内核#

由于 JupyterLite 内核在浏览器中运行,因此它们的功能受到限制。这意味着许多现有的 Jupyter 内核(如 ipykernel)无法在 JupyterLite 中直接运行。

但是,目前已经有一些针对不同语言的 JupyterLite 内核可用。

添加 Python 内核#

目前有两个适用于 Python 的 JupyterLite 内核:

  • jupyterlite-pyodide-kernel:一个基于 Pyodide 的 Python 内核,Pyodide 是一个在浏览器中运行的 Python 发行版。

  • jupyterlite-xeus:Xeus 内核的 JupyterLite 加载器 (https://github.com/jupyterlite/xeus)。

jupyterlite-pyodide-kernel#

  • 基于 Pyodide

  • 使用 IPython 进行代码执行(访问 IPython magic 命令,支持内联 Matplotlib 后端等)。

  • 提供通过 piplite 动态安装软件包的方式(例如 await piplite.install("ipywidgets"))。

  • 不支持使用 from time import sleep 进行休眠。

  • 不支持预安装软件包。

请查阅配置 Pyodide 内核的专用指南。

jupyterlite-xeus#

jupyterlite-xeus 是一个加载器软件包,用于在 JupyterLite 中启用 基于 Xeus 的内核。

特别是,它可以实现在 JupyterLite 中使用 xeus-python

Xeus Python

  • 使用 IPython 进行代码执行(访问 IPython magic 命令,支持内联 Matplotlib 后端等)。

  • (暂)不提供动态安装软件包的方式。目前正在进行构建 WebAssembly 的 mamba 软件包管理器的工作,这将允许即时安装软件包。

  • 支持使用 from time import sleep 进行休眠。

  • 支持通过提供定义运行时环境的 environment.yml 文件,从 emscripten-forgeconda-forge 预安装软件包。

请查阅配置 Xeus Python 内核的专用指南。

注意

这两个 Python 内核非常相似,但仍有一些细微的差异。

未来有计划使这两种实现趋于统一。具体而言,这可能意味着能够在 Pyodide 内核中重用来自 emscripten-forgeconda-forge 的软件包。或者使一些 Pyodide 功能更易于重用,以便它们也可以在 Xeus Python 内核中利用。Pyodide 和 Emscripten Forge 开发人员之间正在进行这方面的工作。

注意

两个内核都在 Web Worker 中运行,以实现更好的隔离并避免阻塞主执行线程。但是,无法直接从 Worker 内部操作 DOM。因此,在 Pyodide 中使用 js.document 模块访问页面上的元素可能会报错。

添加其他内核#

其他语言有其他内核可用。您可以在 JupyterLite 网站中包含多个内核。

其中一些列在文档的 JupyterLite 内核 部分。可能还有更多兼容 JupyterLite 的第三方内核。

安装内核#

要在 JupyterLite 网站中包含内核,您需要在用于构建网站的环境中安装相应的 Python 软件包。

如果您像 快速入门指南 中那样使用 GitHub Pages 托管您的网站,您可以使用 requirements.txt 文件指定要安装的内核。

例如,要安装 jupyterlite-pyodide-kernel 内核,您可以将以下行添加到 requirements.txt 文件中:

# existing dependencices
# ...
# add the Pyodide kernel
jupyterlite-pyodide-kernel

作为替代方案,您也可以在构建环境中安装 jupyterlite-pyodide-kernel,例如使用:

python -m pip install jupyterlite-pyodide-kernel

然后使用 jupyter lite build 重建网站。

该内核现在应该在启动器中可用。

a screenshot showing a JupyterLite instance with the pyodide kernel available.

后续步骤#

现在您已经拥有一个带有内核的 JupyterLite 网站,您可以开始创建笔记本并在浏览器中运行代码。

如果您想进一步自定义 JupyterLite 环境,可以阅读以下部分: