添加内核#
默认情况下,用于创建 JupyterLite 网站的 jupyterlite-core
软件包不包含任何内核。
如果您使用 jupyter lite build
构建 JupyterLite 网站,但没有安装任何内核,则打开应用程序时可能会看到以下启动器:
要添加内核,您需要在用于构建网站的环境中安装相应的 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-forge
和conda-forge
预安装软件包。
请查阅配置 Xeus Python 内核的专用指南。
注意
这两个 Python 内核非常相似,但仍有一些细微的差异。
未来有计划使这两种实现趋于统一。具体而言,这可能意味着能够在 Pyodide 内核中重用来自 emscripten-forge
和 conda-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
重建网站。
该内核现在应该在启动器中可用。
.
后续步骤#
现在您已经拥有一个带有内核的 JupyterLite 网站,您可以开始创建笔记本并在浏览器中运行代码。
如果您想进一步自定义 JupyterLite 环境,可以阅读以下部分: