JupyterLabを起動せずに簡単にipynbファイルを開く方法

JupyterLabで作成するノートブックファイル、ipynbファイルはJSON形式のテキストファイルなので、そのまま開いても普通にみることは出来ません。

ちょっと中を見たいだけなのにJupyterLabを起動し、そこから開かないといけないのは、特にたくさんのファイルをみるときなど、とても手間です。

そこで簡単にファイルを開いてみれる方法をデバイスごとにまとめてみました。

[Mac] で ipynbファイルを開く

Macの場合は「Jupyter Notebook Viewer」を使うのが便利です。インストール後はダブルクリックですぐにipynbファイルを開けます。

001-ipynb-viewer

Jupyter Notebook Viewer

[iPhone, iPad] で ipynbファイルを開く

iPhone, iPad などのiOSの場合、まずは無料のアプリ「Notebook Master for Jupyter」を使ってみてはどうしょうか。
002-ipynb-viewer
006-ipynb-viewer

iCloudDrive, Google Drive, Dropbox, OneDrive からインポートできます。さらにNASから出来れば嬉しのですが残念ながら無いので、NASからはiCloudDriveなどに一度コピーしてからインポートします。
005-ipynb-viewer

画面が大きいiPadではSplit Viewを使って別のアプリと並べて使うのが便利です
000-ipynb-viewer

[Windows] で ipynbファイルを開く

2022/6/19追記

この方法では開くまでに待たされる時間が長いので 「ipynbファイルをブラウザで開く (その3) 」に書いた Google Chrome の拡張機能 「Jupyter Notebook Viewer」を使うようになりました。以下はご参考まで。

Windowsではダブルクリック一発で表示できるようなソフトがありません。そこで

  1. ipynbファイルからHTMLファイルを作成
  2. 作成したHTMLファイルをブラウザで開く
  3. 作成したHTMLファイルが表示されたらファイルを削除する

という処理するPythonスクリプトを作成し使用します。

ただ、スクリプトのままだとipynbファイルのダブルクリックで実行するプログラムとして選択できないのでpyinstallerを使ってexeファイルに変換します。

from nbconvert import HTMLExporter
import os
import sys
import time
import nbformat
import webbrowser

def create_html(filepath):
    filename = os.path.splitext(os.path.basename(filepath))[0]
    htmlfile = filename + ".html"
    if os.path.exists(htmlfile):
    	os.remove(htmlfile)
    nb = nbformat.read(filepath, as_version=4)
    nb.title = "xxxx"
    html_exporter = HTMLExporter()
    (body, resources) = html_exporter.from_notebook_node(nb)
    body = body.replace("<title>Notebook</title>","<title>" + filename + "</title>")
    with open(htmlfile, 'w', encoding='utf-8_sig' , newline='\n') as f:
        f.write(body)
        f.close()
    return htmlfile

if __name__ == '__main__':
    if len(sys.argv) > 1:
        nbfile = sys.argv[1]
        htmlfile = create_html(nbfile)
        webbrowser.open_new_tab(htmlfile)
        time.sleep(10)
        if os.access(htmlfile,os.W_OK):
            os.remove(htmlfile)

HTMLファイルのブラウザでの表示を確認した後にHTMLファイルを削除したいのですが、良い処理方法がみつからず10秒後に削除するという処理にしています。

こちらのファイルpyinstallerを使ってexeファイルに変換します。

pyinstaller ipynb2webbrowser.py --exclude-module pandas --exclude-module numpy --exclude-module matplotlib --noconsole --icon=jupyter-lab.ico

exeファイルに変換したものをこちらに置いておきます。

※このソフトを利用した事によるいかなる損害も当サイトは一切の責任を負いません。自己の責任の上で使用下さい。

ipynbファイルをブラウザで開く (その1)

nbviewer.js

こちらはipynbファイルをブラウザにドラックアンドドロップすることで簡単に表示できるのがnbviewer.jsです。

ipynbファイルをブラウザで開く (その2)

Jupyter Notebook Viewer

Jupyterのipynbファイルを解析してviewerを作ってみた話 こちらもブラウザからの利用になりますが便利です

ipynbファイルをブラウザで開く (その3) 2022/6/19 追記

Google Chrome の拡張機能 「Jupyter Notebook Viewer」を見つけました!

Chromeに追加し設定すればすぐに開けるようになります。開くまでが早いので、現在はWindowsではこちらをメインに使うようになりました。

設定は拡張機能の管理画面にある「ファイルのURLへのアクセスを許可する」をオンにするだけです。

コメント

タイトルとURLをコピーしました