创建可离线使用的 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 轮子#
默认情况下,调用 %pip install
或 piplite.install()
会从公共 PyPI 下载并安装软件包。
相反,您可以配置一个软件包列表,这些软件包将在构建时下载,以便它们可以与您的 JupyterLite 网站一起托管。
有关更多信息,请参阅 在构建时提供其他 Pyodide 轮子。
具体来说,这意味着填充一个用于下载轮子的 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",
"..."
]
}
}
根据您想要静态提供服务的软件包调整此列表。
离线渐进式 Web 应用 (PWA)#
JupyterLite 可用作移动设备上的渐进式 Web 应用 (PWA),也可用于桌面。
当 JupyterLite 被配置为按照本指南中的说明离线工作时,应该可以将 JupyterLite 用作 PWA,而无需任何网络连接。可能仍然需要在连接到互联网的情况下使用该应用程序,以便底层的 Service Worker 可以缓存资产。
查看 使用 指南,了解有关如何将 JupyterLite 安装为应用程序的更多详细信息。
参考#
查看 CLI 参考,了解更多详细信息。