【发布时间】:2015-02-03 13:59:18
【问题描述】:
基本上我想做相反的事情
ipython nbconvert --to python foo.ipynb
IOW,我想以编程方式从 Python 源代码“合成”iPython 笔记本1(可能经过适当注释)。
有什么工具可以做到这一点吗?
FWIW,我是一名资深的 Emacs 用户,并且最近“转换”为 org-mode,因此我特别欢迎与他们配合良好的解决方案。
1 为什么我要这样做?这是一个非常冗长乏味的故事,但简而言之:我必须以 *.ipynb 文件的形式上交一门课的作业,但我不喜欢使用 iPython 笔记本,因为我害怕鼠标,只看文字Emacs 头。恕我直言,在 Emacs 中使用 iPython 笔记本的工具很糟糕,如果它们能正常工作的话(这实际上是故事中“冗长而乏味”的部分)。对我来说,唯一剩下的行动方案就是这篇文章的内容。
【问题讨论】:
-
现在这是一个第一世界的问题:)。我想问题在于笔记本包含的信息不仅仅是代码。转换
ipynb->py没问题,因为你会丢失信息。转换py->ipynb需要更多信息...也就是说:笔记本只是json文件。当然,您可以创建自己的笔记本并通过命令行运行它们,例如使用runipy。更简单的是:在您最喜欢的编辑器中编写代码并将结果复制到笔记本上,然后再提交作业:) -
@cel 确实,这是第一世界的问题:我有鼠标使用的 RSI;双肩都需要手术;我讨厌使用鼠标是有医学依据的。 (再说一遍,我想不出在 SO 中发布的任何问题 不是 第一世界的问题。)关于您的复制粘贴建议:每个作业都需要用代码填充 20-30 个空白。那是 20-30 次复制粘贴操作。不,谢谢。但是感谢您的 runipy 指针。
-
很抱歉听到这个消息。 IPython 笔记本不是为通过命令行编辑而设计的。但正如我所说,当然没有人阻止您学习
json文件的结构并使用emacs 操作笔记本。因此,原则上,无需使用 gui 就可以编写和编辑笔记本。当然,这不是一个非常令人愉快的解决方案。但我怀疑对于这个相当不寻常的问题是否有更好的解决方案。
标签: emacs ipython org-mode ipython-notebook