高级扩展配置#
警告
这是关于扩展配置的更高级部分。我们建议首先遵循 简单扩展 指南。
忽略来自环境的扩展#
默认情况下,JupyterLite 使用发现机制来包含在本地环境中安装的扩展。
可以使用 CLI 标志 --ignore-sys-prefix
或 LiteBuildConfig/ignore_sys_prefix
禁用此发现行为。
CLI 标志 --ignore-sys-prefix
将禁用对所有插件使用来自 JupyterLab 环境的组件。此行为可以在每个插件的基础上以更细粒度的方式进行配置,例如
{
"LiteBuildConfig": {
"ignore_sys_prefix": ["federated_extensions"]
}
}
例如,如果您正在从已安装扩展的环境构建站点,并且不希望出现“副作用”,这将非常有用。
在运行时禁用扩展#
所有第三方扩展,以及 JupyterLite 和 JupyterLab 提供的一些扩展,都可以使用 disabledExtensions
选项为站点中部署的一个或所有应用程序禁用。
例如,一个不需要从 Python 内核访问内容的站点可以使用以下 jupyter-lite.json
禁用 ServiceWorker
插件
{
"jupyter-lite-schema-version": 0,
"jupyter-config-data": {
"disabledExtensions": ["@jupyterlite/server-extension:service-worker"]
}
}
指定查找扩展的额外路径#
CLI jupyter-lite
支持提供查找扩展的额外路径。
您可以在构建站点时指定 CLI 选项 --FederatedExtensionAddon.extra_labextensions_path
jupyter lite build --FederatedExtensionAddon.extra_labextensions_path=/path/to/extra/labextensions
或在 jupyter_lite_config.json
中
{
"FederatedExtensionAddon": {
"extra_labextensions_path": ["/path/to/extra/labextensions"]
}
}
特定应用程序的扩展#
与上面类似,通过更新 $YOUR_JUPYTERLITE/{app}/jupyter-lite.json
,预构建的扩展将仅对该文件树中的页面可用。
添加自定义扩展#
通过将扩展放在 {lite-dir}/extensions/{org/?}{package}/
下,这些扩展也会被复制到 output-dir
中,在任何环境扩展之后,并且所有扩展都将被添加到 {output-dir}/jupyter-lite.json#jupyter-config-data/federated_extensions
中。
提示
例如,在构建实验室扩展后,您可以将 packages.json#/jupyterlab/outputDir
的内容直接复制到 lite-dir
中以预览您的扩展。
最后,--federated-extensions
CLI 标志和 LiteBuildConfig/federated_extensions
配置项允许添加其他联合扩展,这些扩展打包在
PyPI
.whl
conda-forge
.tar.bz2
.conda
(参见下面的警告)
使用 libarchive
#
如果检测到,libarchive-c
将用于提高性能,尤其是在处理包含许多/大型资产的档案时,尤其是 pyodide。
如果未检测到 libarchive-c
,将使用 Python 的内置 zipfile
和 tarfile
模块。
警告
从 .conda
包中提取联合扩展 **需要** libarchive-c
。