以只读方式打开IPython笔记本(*.ipynb),类似于HTML文件。

31

现今,越来越多的IPython笔记本文件(*.ipynb)出现在我们的生活中。每当我想查看某个笔记本时,都需要为其打开服务器,而且无法以只读模式查看。由于自动保存功能,如果不以只读模式查看文件时,我可能会意外更改文件。

我希望像这样的命令:ipython notebook mynb.ipynb --read-only可以实现,但可悲的是它不能实现(虽然还是会创建服务器,但在只读模式下并不需要)。实际上,我真正想要的是像HTML文件一样以阅读方式打开ipynb文件;目前,ipynb文件似乎缺少这种视图,现在笔记本文件更像一个黑盒或近乎二进制文件。

(附注:我使用Linux/Ubuntu系统。)

8个回答

17

当您更改笔记本文件的权限时,jupyter的自动保存不会对其进行更改:

chmod a-w *.ipynb

然后jupyter会进入只读模式:

jupyter只读模式截图


13

请尝试使用ipynb查看器。它可以将ipython笔记本呈现为静态网页。 同时,您也可以使用它将ipyhton笔记本转换为其他格式。

ipython nbconvert --to FORMAT notebook.ipynb.

请参考将Ipython笔记本转换为其他格式。使用此方法,您可以将IPython笔记本转换为HTML。


2
nbconvert:不想每次想读笔记本时都进行转换并删除转换后的版本。 - chentingpc
1
nbviewer:它能像“ipython notebook mynb.ipynb --read-only”一样在本地使用,而不包含其他开销吗? - chentingpc
IPython笔记本不以人类可读格式存储。此外,笔记本没有版本控制。因此,您需要导出HTML以获取最新的可读格式。 - Tanu
1
nbviewer是一个免费的公共网络服务。你可以尝试使用Mozilla插件-https://addons.mozilla.org/en-US/firefox/addon/open-in-nbviewer/来方便地使用它。 - Tanu
1
此外,您可以编写一个Python脚本,当iPython笔记本被修改时自动生成HTML文件。 - Tanu
显示剩余5条评论

13

你也可以尝试使用 nteract 应用程序 (https://nteract.io)

nteract 是一款桌面应用程序,可以让您开发包含散文、可执行代码 (几乎任何语言!) 和图像的丰富文档。

在这里,您可以找到有关该应用程序更详细的评论。

它完全免费且非常方便,我经常使用它来查看其他ipynb文件(如果需要)和快速开发。


3
我能提供的最好建议 - 不幸的是仍然有点冗长 - 是使用nbconvert创建文件的HTML版本,然后使用浏览器打开它。以下是执行此操作的命令(假设您的浏览器已设置为处理.html文件的默认程序)。只需将yournotebook.ipynb替换为实际的Notebook名称即可。
jupyter nbconvert --to html yournotebook.ipynb --output /tmp/notebook.html &&
xdg-open /tmp/notebook.html

jupyter nbconvert --to html yournotebook.ipynb --output /tmp/notebook.html &&
open /tmp/notebook.html

jupyter nbconvert --to html yournotebook.ipynb --output "%TEMP%\notebook.html" && start "" "%TEMP%\notebook.html"

请注意,如果您想批量执行此操作,例如在脚本的循环中,您可能需要修改上面的命令,以便不总是使用相同的HTML文件名,避免HTML文件被覆盖,直到浏览器真正开始读取它。


0

我使用Github Gist来实现这个功能。您需要一个Github账户。

如果您在内容的复制/粘贴中指定*.ipynb文件扩展名,它将检测到并格式化为HTML视图。如果有兴趣,您甚至可以使用链接与他人共享它。除了拥有浏览器之外,不需要其他工具。

我发现格式方面存在一些小问题,主要是输出图形,但这种情况相对较少。

这里是一个随机示例:https://gist.github.com/Clockware/aa7e01722579841d5888ca83385a5f1d


0

查看Jupyter笔记本最方便的方法是使用nb-viewer,通过这个工具,您可以双击打开笔记本(只读模式)。


0

我能够在 Visual Code 中将 .ipynb 文件以 HTML 格式阅读。你需要一个 Python 插件,Visual Code 会自动检测到它。之后就相当简单了。


0

Intellij IDEA(也可作为免费开源社区版提供)同样可以渲染ipynb文件。实际上,它还允许创建笔记本,因此不仅仅是一个查看器。

可以通过文件类型关联或命令行启动器(例如idea foo.pynb)使用它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接