添加内核#
默认情况下,用于创建 JupyterLite 网站的 jupyterlite-core
包不包含任何内核。
如果你使用 jupyter lite build
构建 JupyterLite 网站,并且没有安装任何内核,你可能会在打开应用程序时看到以下启动器
要添加内核,你需要在用于构建网站的环境中安装相应的 Python 包。
选择内核#
由于 JupyterLite 内核在浏览器中运行,因此它们的功能有限。这意味着许多现有的 Jupyter 内核,例如 ipykernel
,在 JupyterLite 中无法开箱即用。
但是,已经提供了一些针对不同语言的 JupyterLite 内核。
添加 Python 内核#
在 Python 的情况下,目前有两个选项
jupyterlite-pyodide-kernel
:基于 Pyodide 的 Python 内核,Pyodide 是一个在浏览器中运行的 Python 发行版。jupyterlite-xeus
:JupyterLite 加载器,用于 Xeus 内核 (https://github.com/jupyterlite/xeus)。
jupyterlite-pyodide-kernel
#
基于 Pyodide
使用 IPython 进行代码执行(访问 IPython 魔法命令,支持内联 Matplotlib 后端,等等)
提供使用
piplite
动态安装包的方法(例如await piplite.install("ipywidgets")
)不支持 使用
from time import sleep
进行休眠不支持 预安装包
查看专门的指南以配置 Pyodide 内核
jupyterlite-xeus
#
jupyterlite-xeus
是一个加载器包,用于在 JupyterLite 中启用 基于 Xeus 的 内核。
特别是,它可以启用 xeus-python 在 JupyterLite 中使用。
Xeus Python
使用 IPython 进行代码执行(访问 IPython 魔法命令,支持内联 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 中运行,以实现更好的隔离并避免阻塞主执行线程。但是,无法直接从工作线程内部操作 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 环境,您可以阅读以下部分。