我想转换我的ipython-notebooks来打印它们,或者只是将它们以html格式发送给其他人.我注意到已经有了一个工具来做到这一点,nbconvert.我已经下载了它,但我不知道如何使用nbconvert2.py来转换笔记本,因为nbconvert说它已被弃用.nbconvert2.py说我需要一个配置文件来转换笔记本,它是什么?是否存在有关此工具的文档?
如何将IPython笔记本文件(带.ipynb扩展名的json )转换为常规.py模块?
我有一个问题,当笔记本电脑的输出很长,并保存到笔记本电脑,任何时候我想再次打开这个特定的笔记本电脑浏览器崩溃,无法正确显示.
要修复此问题,我必须使用文本编辑器打开它,并删除该单元格中的所有输出,从而导致问题.
我想知道是否有办法清理笔记本电脑的所有输出,这样可以再次打开它而没有问题.我想删除所有输出,因为删除一个特定的输出似乎更麻烦.
我想使用Git版本控制Jupyter笔记本.不幸的是,默认情况下,Git和Jupyter笔记本电脑不能很好地播放.一个.ipynb文件是一个.json含有不仅Python代码本身,而且还大量的元数据(例如,小区执行计数)和单元输出的文件.
大多数现有解决方案(例如,在版本控制下使用IPython笔记本)依赖于从笔记本中删除输出和元数据.这个(i).json在进行差异时仍然保持文件结构,这是一个难以阅读,并且(ii)意味着不能使用诸如Github上的输出显示之类的功能,因为输出在提交之前被删除.
我的想法如下:每当我运行时git diff,Git会自动使用jupyter nbconvert --to python filename.ipynb从我的*.ipynb源文件转换为*.py普通的python文件.然后它应该只检测影响代码本身的更改(不是执行计数和输出,因为它们被删除nbconvert)而不实际删除它们,它应该使我的差异比未转换的.ipynb文件更可读.我不希望.py永久存储该文件的版本; 它应该只用于git diff.我的理解是,这应该可以通过简单地指定nbconvert为[diff] textconv驱动程序,但我无法让它工作.
我创建了一个名为文件ipynb2py中/usr/local/bin包含
#!/bin/bash
jupyter nbconvert --to python $1
Run Code Online (Sandbox Code Playgroud)
我已将以下内容添加到我的.gitconfig文件中
[diff "ipynb"]
textconv = ipynb2py
Run Code Online (Sandbox Code Playgroud)
以及我的.gitattributes文件
*.ipynb diff=ipynb
Run Code Online (Sandbox Code Playgroud)
将ipynbtextconv驱动程序分配给该.ipynb格式的所有文件.
现在,我希望git diff自动执行一个转换(我知道这会慢慢减速,但值得为VCing笔记本提供一个可行的选项)每次运行它然后显示一个很好的可读差异,只基于笔记本状态之间的差异转换后.
当我这样做时git diff,它首先说 …
我们正在运行一个中央git存储库(gforge),每个人都会从中推出并推送.不幸的是,一些无能的同事已经决定将几个10-100Mb jar文件推入回购中是一个好主意.因此,我们使用的服务器已经耗尽了磁盘空间.
我们才意识到这一点,为时已晚,而且大多数人已经撤回了新的大型回购.如果没有推出问题,那么我们可以做一个rebase来剪掉那些巨大的提交并修复它,但是现在每个人都已经从中撤出了,删除该提交的最佳方法是什么(或者做一个rebase to just删除大文件)当每个人都想从/向回购/推送/推送时,这不会导致混乱?
它应该是脚本的小型回购,但现在大小约为700M :-(
我正在根据测试结果编写测试可视化程序.我想通过终端运行jupyter笔记本并生成html页面以向用户显示它而不向用户显示可编辑脚本.我能这样做吗?或者建议更好的方式来显示可视化的测试结果.
我有一个IPython笔记本,它的大小为几兆字节,尽管其中的代码仅约100行。我认为它很大,因为我在其中加载了多个图像。
我想将此笔记本添加到git存储库中。但是,我不想上传可以轻易再次生成的大文件。
是否可以仅保存IPython Notebook的代码以减小其大小?
与同事在 Jupyter 笔记本上进行协作让我抓狂。我们正在开发同一笔记本的不同版本(我会说“分支”,但这对于我们正在做的事情来说可能太花哨了)。我尝试将他引入的(一些)更改合并到我的版本中。由于比较 JSON 文件是一场噩梦,因此我将两个笔记本转换为.py文件(从笔记本的文件菜单下载为\Python(.py 文件)),然后在 PyCharm 中比较文件。这很好用,还因为导出到..py.py
现在的问题是将更改后的.py文件导入到 Jupyter 中。这可能吗?让我希望得到肯定答案的一件事是,导出的.py文件中有一些# In[4]:注释,Jupyter 界面可能会使用这些注释来理解代码如何划分为单元格。还是根本不可能回去?如果是这样,您还有其他建议来合并 Jupyter 笔记本的两个不同版本之间的一些更改吗?
我设置了一些git 过滤器,以便在提交之前预处理某些文件(在我的例子中是 IPython Notebooks)。更确切地说,我正在遵循以下说明:https : //stackoverflow.com/a/20844506/578770
如果我提交更改或使用命令行“git diff”查看更改,这工作正常并且文件被正确过滤。
但是,如果我使用 meld 查看更改,则不会过滤文件。我尝试了几种方法来将 meld 设置为 git 的差异工具:
但是我找到的使用 meld 作为差异工具的解决方案都没有让我能够在应用 git 过滤器后查看文件的更改。
有人知道如何实现这一目标吗?
我试图添加一个git clean-filter以便忽略我的IPython Notebook文件的输出和execution_count。
我基本上已经关注了这篇文章(基于SO的回答),并根据我的需要对其进行了一些修改。另外,我在Windows上,据我所知,不需要使python脚本可执行的部分(请参阅Python FAQ)。
我想将其捆绑到我的存储库中,以便其他贡献者也可以使用它。我已经ipynb_drop_output.py在存储库的根目录中保存了,并在同一位置保存了gitconfig和gitattributes文件,因此在根目录下,我有:
.gitignore
.gitconfig
.gitattributes
ipynb_drop_output.py
MyNotebook.ipynb
Run Code Online (Sandbox Code Playgroud)
在.gitattributes:
*.ipynb filter=clean_ipynb
Run Code Online (Sandbox Code Playgroud)
在.gitconfig:
[filter "clean_ipynb"]
clean = ipynb_drop_output.py
smudge = cat
Run Code Online (Sandbox Code Playgroud)
我已经手动测试了ipynb_drop_output的代码,它的工作原理就像一个魅力。然而,git diff仍然显示我execution_count和输出变了。看来脚本根本没有运行。
我想这可能是因为该clean = ipynb_drop_output.py部分的缘故,但是我尝试了所有变化:不包括.py,包括完整路径“ C ... \ ipynb_drop_output.py”,也带有正斜杠等。
我的第二个理论是git只是不查看.gitconfig文件,但是我不清楚如何告诉它和/或如何检查它实际上是否在查看它。我认为git config --file .gitconfig filter.clean_ipynb.clean ipynb_drop_output这样做的重点是...
请问如何在Windows上运行它?