JupyterLab扩展,用于依赖管理和优化
项目描述
JupyterLab Requirements
这是一个为保证Jupyter笔记本的可重复性而创建的JupyterLab扩展,用于依赖管理和优化。
关于
此扩展提供对JupyterLab笔记本依赖的管理。
项目的主要目标是以下内容
在不离开笔记本的情况下管理笔记本需求
为每个笔记本提供一个独特且优化的环境
注意:使用Thoth解析引擎优化了需求。
安装
此扩展需要
JupyterLab >= 3.1.0
您可以通过pip或Pipenv从PyPI安装此扩展
pip install jupyterlab-requirements
您可以初始化JupyterLab并开始使用它。
jupyter lab
故障排除
如果您看到前端扩展但无法使用,请检查服务器扩展是否已启用
jupyter server extension list
如果服务器扩展已安装并启用,但您看不到前端扩展,请检查前端扩展是否已安装
jupyter labextension list
使用方法
有3种方法与此扩展交互
在笔记本的单元格中直接使用horus魔法命令。
从终端或集成到流水线中使用horus CLI。
通过在JupyterLab中打开笔记本时出现的jupyterlab-requirements UI(可通过“管理依赖项”按钮访问)。
解析引擎
扩展中目前提供了两个解析引擎
注意:默认使用Thoth,可以使用标志触发Pipenv或自动作为备份运行。
注意:目前此扩展仅支持Python内核。
Thoth
使用Thoth解析引擎,您可以请求满足您需求的优化软件堆栈。
Thoth:推荐类型
您可以选择最适合您需求的推荐类型
最新(默认)
性能
安全性
稳定
测试
有关更多信息和新更新,请在此处查找。
Thoth:运行时环境
Thoth解析引擎能够根据您正在使用的运行时环境提供优化的软件堆栈(使用多个输入,如果需要更多信息,请查看此处)。
一般来说,不同的运行时环境将对您的应用程序产生不同的影响(例如,更高的性能),因此我们将这些信息包含在笔记本元数据中,以便其他人可以了解已用于运行特定笔记本的运行时环境。
您可以通过选择用于推荐的运行时环境
操作系统名称
操作系统版本
Python解释器版本
注意:这些参数由扩展自动发现并分配给您的环境,如果您感兴趣,可以自定义它们。
依赖项安装
使用任何可用的解析引擎创建锁文件后,将使用micropipenv在虚拟环境中安装依赖项。
依赖项的虚拟环境
根据您的依赖项需求创建并分配给用于您的笔记本的内核的虚拟环境可以通过以下命令从终端进行检查
cat ~/.local/share/thoth/kernels/{kernel_name}
覆盖目录
存储在笔记本元数据中的依赖项也可以使用默认的内核名称存储在“覆盖”文件夹中。如果您想了解更多关于覆盖的使用,请查看micropipenv。如果您想查看使用覆盖的实用示例以及如何从您的笔记本创建它们,请查看此教程。
删除内核
如果您有太多内核,可以直接从JupyterLab的内核部分菜单中删除它们。此插件由本扩展提供。
可重复性
您可以使用此扩展为每个笔记本保证它们具有正确的依赖文件,以确保可重复性和可分享性。这样,所有用于重复环境的依赖信息都包含在笔记本中。在笔记本元数据中,您将找到
密钥 |
备注 |
---|---|
需求 |
所有必需的软件包(直接依赖项)。 |
需求 |
所有软件包(直接和间接依赖项)以及所有散列值(Pipfile.lock)都已锁定。 |
依赖关系解析引擎 |
目前启用了两种解析引擎。 |
配置文件 |
仅适用于Thoth解析引擎。 |
所有这些信息都可以使笔记本的可重复性成为可能。
贡献
开发安装
注意:您需要NodeJS来构建扩展包。
命令 jlpm 是JupyterLab安装的yarn的固定版本。您可以使用 yarn 或 npm 代替下面的 jlpm。
从该存储库分支
将源存储库克隆到您的本地环境
git clone git@github.com:thoth-station/jupyterlab-requirements.git
切换到jupyterlab-requirements目录
创建新的虚拟环境
pipenv install --dev
进入环境。
pipenv shell
以下所有命令都需要在步骤5中创建和访问的虚拟环境中运行。
以开发模式安装包
pip install -ve . --no-cache-dir
将您的扩展开发版本链接到JupyterLab
jupyter labextension develop . --overwrite
jupyter serverextension enable --py jupyterlab-requirements --sys-prefix
在做出更改后重新构建扩展的TypeScript源代码
jlpm run build
您可以在不同的终端中同时监视源目录并运行JupyterLab,以监视扩展源代码中的更改并自动重新构建扩展。
以下命令在一个终端中监视源目录,并在需要时自动重新构建。
jlpm run watch
以下命令在另一个终端中运行JupyterLab。
jupyter lab
在监视命令运行时,每次保存的更改都会立即本地构建并可供正在运行的JupyterLab使用。刷新JupyterLab以在浏览器中加载更改(您可能需要等待几秒钟,直到扩展重新构建)。
默认情况下,jlpm run build 命令为该扩展生成源映射,以便更容易使用浏览器开发工具进行调试。要为JupyterLab核心扩展也生成源映射,可以运行以下命令
jupyter lab build --minimize=False
使用命令运行测试
python3 setup.py test
当所有测试都通过且您准备好提交新贡献时,请打开Pull Request!我们非常高兴接受社区的贡献!
演示开发状态和新功能
卸载
pip uninstall jupyterlab-requirements
项目详情
散列值 for jupyterlab_requirements-0.16.2-py3-none-any.whl
算法 | 散列摘要 | |
---|---|---|
SHA256 | 8f0b11838a18bd38df8e607777618fc1148e4ea1dc2bbf116d4196f62b4c6e28 |
|
MD5 | 6826e1631c7a17141e04eeeb72135c25 |
|
BLAKE2b-256 | 04280ea3d32eeb420cbb7486ad814bc3af941135ce03ce2035c2e144a4829e18 |