跳转到主要内容

在笔记本文档中存储conda环境包列表

项目描述

https://img.shields.io/pypi/v/nbenv.svg https://img.shields.io/travis/zonca/nbenv.svg

在笔记本文档中存储conda环境包列表

此包为Jupyter Notebook提供了一个钩子,在每次保存笔记本时,将conda环境的元数据(相当于 conda env export)保存在笔记本 .ipynb 文件中。它还支持在conda环境中使用 pip 安装的包。

一旦共享这样的Jupyter Notebook,另一个用户可以检查它运行的环境

$ nbenv --extract my_notebook.ipynb

name: test_input_env
channels:
- defaults
- conda-forge
dependencies:
- ca-certificates=2017.08.26=h1d4fec5_0
- certifi=2017.7.27.1=py35h19f42a1_0
- decorator=4.1.2=py35h3a268aa_0
- ipykernel=4.6.1=py35h29d130c_0
- ipython=6.1.0=py35h1b71439_1
- ipython_genutils=0.2.0=py35hc9e07d0_0
- jupyter_client=5.1.0=py35h2bff583_0
- pip:
  - ipython-genutils==0.2.0
  - jupyter-client==5.1.0

并重新创建相同的环境(包括安装IPython内核)

$ nbenv my_notebook.ipynb --name reconstructed_env
$ source activate reconstructed_env
$ jupyter notebook

如果笔记本文件被未安装 nbenv 的Jupyter Notebook会话修改,则将保留环境元数据。

安装

使用 pip install nbenv 安装包

在您的 .jupyter/jupyter_notebook_config.py 中安装Jupyter Notebook钩子

try:
    from nbenv import save_conda_environment
    c.FileContentsManager.pre_save_hook = save_conda_environment
except ImportError:
    print("nbenv package not found: automatic saving of conda environment disabled")

实现细节

pre_save_hook 由Jupyter Notebook在将笔记本保存到磁盘之前自动触发。它通过检查内核规范来确定正在运行的conda环境,然后调用 conda env export 并将输出保存在 ["content"]["metadata"]["conda_environment"] 中的 .ipynb JSON。

然后,nbenv 命令行工具可以提取它,并使用 conda create 在新环境中创建。

致谢

此包的设计是在2017年8月在NCSA举办的容器分析环境研讨会上讨论时构思的。

此软件包是用Cookiecutteraudreyr/cookiecutter-pypackage项目模板创建的。

项目详情


下载文件

下载适用于您的平台文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

nbenv-0.1.4.tar.gz (14.5 kB 查看哈希)

上传时间: 源代码

构建分发

nbenv-0.1.4-py2.py3-none-any.whl (7.9 kB 查看哈希)

上传时间: Python 2 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面