【问题标题】:Open IPython notebooks (*.ipynb) in read-only view (like a HTML file)在只读视图(如 HTML 文件)中打开 IPython 笔记本 (*.ipynb)
【发布时间】:2016-05-10 17:40:58
【问题描述】:

现在 IPython 笔记本文件 (*.ipynb) 越来越多,每次我想偷看某个笔记本时都非常烦人,我必须为其打开一个服务器,并且不能在只读模式下进行.由于自动保存,如果不是处于只读模式,我可能会在读取文件时意外更改文件。

我希望这样的事情:ipython notebook mynb.ipynb --read-only 可以工作,但遗憾的是它没有(尽管它仍然创建了一个我真的不想要只读视图的服务器)。我真正想要的是打开一个像HTML文件一样的ipynb文件来阅读;目前似乎缺少 ipynb 文件的视图,现在笔记本更像是一个黑盒或接近二进制文件。

(P.S. 我使用的是 Linux/Ubuntu。)

【问题讨论】:

    标签: python ipython jupyter-notebook


    【解决方案1】:

    当您更改 notebook 文件的权限时,jupyter 的自动保存不会触及它们:

    chmod a-w *.ipynb

    然后jupyter进入只读模式:

    【讨论】:

      【解决方案2】:

      试试这个ipynb Viewer。这会将 ipython 笔记本呈现为静态网页。 ypu 也可以将 ipyhton notebook 转换为其他格式使用

      ipython nbconvert --to FORMAT notebook.ipynb.
      

      请参阅Convert Ipython notebook to other formats。使用它,您可以将 ipython 笔记本转换为 HTML。

      【讨论】:

      • nbconvert:不想每次我想读一些笔记本时都转换它,然后删除转换后的版本。
      • nbviewer:能不能像“ipython notebook mynb.ipynb --read-only”一样简单地在本地使用,而且不包括其他开销?
      • ipython 笔记本不是以人类可读的格式存储的。笔记本也没有版本控制。因此,您需要将 HTML 导出为最新的可读格式
      • nbviewer:它是一个免费的公共网络服务。你可以试试 Mozilla 插件 - addons.mozilla.org/en-US/firefox/addon/open-in-nbviewer 让你轻松
      • 另外,您可以编写一个python脚本,当ipython notebook被修改时,它会自动生成HTML文件。
      【解决方案3】:

      您可能还想尝试 nteract 应用 (https://nteract.io)

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

      Here你可以找到更详细的应用评论。

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

      【讨论】:

        【解决方案4】:

        我能建议的最好的方法——不幸的是仍然有点冗长——使用nbconvert 创建文件的 HTML 版本,然后用浏览器打开它。以下是执行此操作的命令(假设您的浏览器设置为处理 .html 文件的默认程序)。只需将yournotebook.ipynb 替换为您的真实笔记本名称即可。

        Linux
        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 文件已被覆盖。)

        【讨论】:

          【解决方案5】:

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

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

          【讨论】:

            【解决方案6】:

            为此,我使用 Github Gist。您需要一个 Github 帐户。

            如果您为内容复制/粘贴指定 *.ipynb 文件扩展名,它会检测到它并格式化为 html 视图。如果这很有趣,您甚至可以使用链接与某人分享它。除了拥有浏览器之外不需要任何工具。

            我在格式上发现了一些问题,主要是输出图,但这种情况相当罕见。

            此处随机示例:https://gist.github.com/Clockware/aa7e01722579841d5888ca83385a5f1d

            【讨论】:

              【解决方案7】:

              我能够在可视代码中以 html 格式读取 .ipynb 文件。您需要一个可视代码自动检测的 python 插件。之后就相当直接了。

              【讨论】:

                【解决方案8】:

                查看 jupyter 笔记本最方便的方法是使用nb-viewer,使用此实用程序,您将能够通过双击打开笔记本(在只读模式下)。

                【讨论】:

                  猜你喜欢
                  • 2015-05-12
                  • 2020-07-20
                  • 1970-01-01
                  • 2015-11-18
                  • 2015-01-16
                  • 1970-01-01
                  • 2016-09-06
                  • 2022-11-11
                  • 1970-01-01
                  相关资源
                  最近更新 更多