从jupyter和ipython笔记本上剥离输出

nbstripout的Python项目详细描述


nbstripout:Jupyter和iPython笔记本电脑的条带输出

打开笔记本,删除其输出,并将无输出版本写入 原始文件。

主要用作git过滤器或预提交挂钩,对于不想 在VCS中跟踪输出。

这与 笔记本用户界面。

基于https://gist.github.com/minrk/6176788" rel="nofollow">https://gist.github.com/minrk/6176788

屏幕广播

这个屏幕演示了 nbstripout实用程序以及如何将其用作git过滤器:

http://i.imgur.com/7oqhuj5.png

安装

您可以从pypi下载并安装最新版本的nbstripout, python包索引,如下所示:

pip install --upgrade nbstripout

使用蟒蛇分布版时,请通过 conda中的包管理器

conda install -c conda-forge nbstripout

用法

从ipython/jupyter笔记本中剥离输出(修改文件):

nbstripout FILE.ipynb [FILE2.ipynb ...]

强制处理非 .ipynb 文件:

nbstripout -f FILE.ipynb.bak

写入stdout,例如用作shell管道的一部分:

cat FILE.ipynb | nbstripout > OUT.ipynb

nbstripout -t FILE.ipynb | other-command

按照手动安装中的说明设置git过滤器和属性 以下说明:

nbstripout --install

使用 .gittattributes设置git过滤器

nbstripout --install --attributes .gitattributes

在全局中设置git过滤器

nbstripout --install --global

删除git过滤器和属性:

pip install --upgrade nbstripout
0

从全局和属性中删除git过滤器

nbstripout --install --global

中删除git过滤器和属性。utes

pip install --upgrade nbstripout
2

检查当前存储库中是否安装了nbstripout (如果安装了代码0,则退出,否则退出1):

pip install --upgrade nbstripout
3

在当前存储库中打印nbstripout安装的状态 筛选器和属性的配置摘要(如果已安装) (如果安装了代码0,则退出,否则退出1):

pip install --upgrade nbstripout
4

打印版本:

pip install --upgrade nbstripout
5

显示此帮助页:

pip install --upgrade nbstripout
6

配置文件

下表显示了在哪些文件中 对于给定的额外标志,属性配置被写入到 --install 以及卸载 <表> < COLGROUP > < COL/> < COL/> < COL/> <广告> 标志 过滤器 属性 < /广告> <正文> 无 .git/config .git/info/attributes --全局 ~/.gitconfig .git/info/attributes --属性=.gittattributes .git/config .gittattributes --全局的 ~/.gitconfig .gittattributes <表>

全局安装

通常, nbstripout 是每个存储库安装的,因此您可以选择在哪里安装 不管用不用。您可以选择设置 中的属性。gittattributes 和 将此文件提交到存储库,但是无法设置git 当有人克隆存储库时自动筛选。这是设计的, 防止您在 克隆存储库。

为所有存储库安装nbstripout 每个存储库需要运行一次安装,安装如下:

pip install --upgrade nbstripout
7

这将在 ~/.gitconfig中设置过滤器和diff驱动程序 指示git将它们应用于任何存储库中的任何 .ipynb 文件。

请注意,您需要使用相同的标志进行卸载:

pip install --upgrade nbstripout
8

追溯应用

nbstripout 可用于使用 git 筛选分支 从现有笔记本中剥离输出。这个调用 使用索引过滤器并对repo中的所有ipynb文件进行操作:

pip install --upgrade nbstripout
9

如果存储库很大,并且笔记本位于子目录中,则它将运行 使用git checkout更快。你会得到一个警告 不包含任何笔记本的提交,可以通过管道进行抑制 stderr到 /dev/null

这是一个可能较慢但更简单的调用,使用 --树过滤器

conda install -c conda-forge nbstripout
0

保持一些输出

不要删除执行计数/提示号

conda install -c conda-forge nbstripout
1

不要剥离输出

conda install -c conda-forge nbstripout
2

若要标记特殊单元格以使输出不被条带化,请设置 "keep_output":单元格上的元数据为true。为此,请选择 "编辑元数据"单元格工具栏,然后使用"编辑元数据"按钮 在所需的单元格中输入如下内容:

conda install -c conda-forge nbstripout
3

另一个用例是保留可能加载的初始化单元 定制的css等对笔记本电脑的显示至关重要。到 支持这一点,我们还保留单元格的输出:

conda install -c conda-forge nbstripout
4

这与 init_cell nbextension

剥离元数据

这可以通过 git config (-global) filter.nbstripout.extrakeys 配置。 例如:

conda install -c conda-forge nbstripout
5

不包括文件夹

要将某个文件夹从 nbstripout 筛选器处理中排除, 将以下行添加到 .git/info/attributes (或 .gittattributes 如果您选择使用它:

conda install -c conda-forge nbstripout
6

这将对 docs 目录中的任何文件禁用 nbstripout

要检查给定文件在当前配置中具有哪些属性,请运行

conda install -c conda-forge nbstripout
7

对于应用筛选器的文件,您将看到以下内容:

conda install -c conda-forge nbstripout
8

对于排除文件夹中的文件,您将看到以下内容:

conda install -c conda-forge nbstripout
9

手动安装过滤器

使用nbstripout设置git过滤器和diff驱动程序,如下所示:

nbstripout FILE.ipynb [FILE2.ipynb ...]
0

这将在当前存储库的 .git/config 文件中添加一个部分。

如果希望为用户全局安装筛选器,请添加 --global 标记到上面的 git config 调用,使 将配置写入 ~/.gitconfig 并应用于所有存储库。

创建一个文件 .gittattributes (如果您希望它与存储库一起进行版本控制) 或者使用 以下内容:

nbstripout FILE.ipynb [FILE2.ipynb ...]
1

这指示git使用名为nbstripout的过滤器和diff驱动程序 在上面的git配置中为每个 .ipynb 文件设置的 存储库。

如果您希望为任何git中的 .ipynb 文件设置属性 存储库,将这两行添加到 ~/.config/git/attributes 。注意 此文件和 ~/.config/git 目录可能不存在。

汞的使用

Mercurial没有类似于Smudge过滤器的产品。一个人可以用 一个编码/解码挂钩,但这有一些问题。另一种选择 解决方案是提供一组首先运行nbstripout的命令, 然后执行这些操作。这是mmf设置的方法。 包装:

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何比较二维交错数组中列中元素的长度   java依赖javafx是安全的。util。回电话?   用于格式化二进制数的正则表达式,在Java中,从右到左每4个字符使用空格   java我应该在基于Springboot的后端使用headless模式吗?   java Hibernate获取数据。list()已去润滑,表未映射。怎么办?   java Spring引导存储库,包括示例、规范和页面   java使用UUID。randomUUID()和多次调用方法?   每个客户端请求的Java DatagramSocket不同线程   字符串中的java表达式到arraylist   数组循环遍历word文档和图像,并存储到SQL java   java wsimport Xauthfile错误   java在适配器中返回相同的片段   charAt()方法如何从字符串中提取数字并将其放入Java中的新字符串中?   java我想在两部手机之间建立hfp连接   java如何添加priceAfterDiscount的公共方法,该方法返回折扣后的价格