高级扩展配置#
警告
这是关于扩展配置的更高级部分。我们建议您先阅读简单扩展指南。
忽略来自环境的扩展#
默认情况下,JupyterLite 使用发现机制来包含本地环境中安装的扩展。
此发现行为可以使用 CLI 标志 --ignore-sys-prefix
或 LiteBuildConfig/ignore_sys_prefix
禁用。
--ignore-sys-prefix
CLI 标志将禁用所有附加组件使用 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/application-extension:service-worker-manager"]
}
}
指定查找扩展的额外路径#
jupyter-lite
CLI 支持提供额外的路径来查找扩展。
您可以在构建站点时指定 --FederatedExtensionAddon.extra_labextensions_path
CLI 选项
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
中。
提示
例如,在构建 Lab 扩展后,您可以将 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
。