创建可离线使用的 JupyterLite 存档#

可以创建一个完全自包含的 JupyterLite 存档,无需请求外部服务。

某些配置部分取决于您可能正在使用的内核。

本指南仅关注两个 Python 内核:Xeus Python 和 Pyodide。

使用 Xeus Python 内核#

使用Xeus Python 内核时,包会在构建时自动预安装。

然后,它们作为静态资产在 JupyterLite 输出目录中可用。

这些资产默认离线可用,无需额外配置。

有关更多信息,请参阅相关指南

使用 Pyodide 内核#

配置 Pyodide 内核#

默认情况下,Pyodide 文件从 CDN 获取。

完整的 Pyodide 发行版可能相当重(约 180MB),但可以自托管。

使用 --pyodide 标志指定您希望使用的 Pyodide 发行版。例如

jupyter lite build --pyodide https://github.com/pyodide/pyodide/releases/download/0.22.1/pyodide-0.22.1.tar.bz2

警告

通常,pyodide_kernel 的版本可能只兼容与发布时测试的相同 x.y.z 版本的变体,因为依赖项两侧的 python 和 JS API 仍在频繁更改。

配置 piplite wheels#

默认情况下,调用 %pip installpiplite.install() 会从公共 PyPI 下载并安装包。

您可以配置一个包列表,这些包将在构建时下载,以便与您的 JupyterLite 网站一起托管。

有关更多信息,请参阅在构建时附带额外的 Pyodide wheels

具体来说,这意味着填充用于下载 wheels 的 URL 列表。一个很好的例子是 JupyterLite 演示网站使用的配置:jupyter_lite_config.json

jupyter_lite_config.json 的相关部分是 piplite_urls 列表,如下所示

{
  "PipliteAddon": {
    "piplite_urls": [
      "https://files.pythonhosted.org/packages/e6/0b/24795939622d60f4b453aa7040f23c6a6f8b44c7c026c3b42d9842e6cc31/fastjsonschema-2.15.3-py3-none-any.whl",
      "https://files.pythonhosted.org/packages/py2.py3/a/asttokens/asttokens-2.0.5-py2.py3-none-any.whl",
      "https://files.pythonhosted.org/packages/py2.py3/b/backcall/backcall-0.2.0-py2.py3-none-any.whl",
      "https://files.pythonhosted.org/packages/py2.py3/b/bqplot/bqplot-0.12.33-py2.py3-none-any.whl",
      "https://files.pythonhosted.org/packages/py2.py3/c/certifi/certifi-2021.10.8-py2.py3-none-any.whl",
      "https://files.pythonhosted.org/packages/py2.py3/d/defusedxml/defusedxml-0.7.1-py2.py3-none-any.whl",
      "https://files.pythonhosted.org/packages/py2.py3/e/executing/executing-0.8.3-py2.py3-none-any.whl",
      "..."
    ]
  }
}

根据您希望静态提供的包调整此列表。

离线渐进式网络应用 (PWA)#

JupyterLite 可以用作移动设备上的渐进式网络应用 (PWA),也可以在桌面设备上使用。

当 JupyterLite 配置为如本指南所述离线工作时,应该可以在没有任何网络连接的情况下将 JupyterLite 用作 PWA。可能仍然需要在首次连接互联网时使用该应用程序,以便底层服务工作线程可以缓存资产。

查看使用指南,了解有关如何将 JupyterLite 安装为应用程序的更多详细信息。

参考#

查看CLI 参考以获取更多详细信息。