Jupyter NotebookでPython以外のプログラミング言語を使う
Jupyter Notebook(旧IPython Notebook)を使うと、コードとその出力結果、Markdownによる説明がまとめて残しておけるので非常に便利。
デフォルトではPythonしか使えないが、Jupyter kernelを追加することで他のプログラミング言語を使うことができる。
以下の内容について説明する
- Jupyter kernels
- 一覧
- インストール方法
- Bashを追加する例
Jupyter kernels
一覧
以下のページに現在利用できるJupyter kernelの一覧が記載されている。
RubyやC#、Goなど各種プログラミング言語を実行するためのkernelが大量にある。
それぞれのkernelは有志が作っているもので、言語によってはkernelが複数存在している場合もある。上記ページの表の一番左の列の項目がレポジトリへのリンクになっているので、スターの数や最終更新日などを参考に試してみるといいだろう。
インストール方法
インストール方法はkernelによって異なる。多くの場合、Linux/macOS/Windowsなどの環境ごとのインストール方法がレポジトリのページに書かれている。
kernelによっては環境構築が大変なものもある。手軽に扱えるものばかりではない。
Bashを追加する例
具体例としてBashを追加する。
READMEに従いインストールする。Bashは比較的簡単。
$ pip install bash_kernel
$ python -m bash_kernel.install
通常通りjupyter notebook
コマンドでJupyter Notebookを起動する。
$ jupyter notebook
新たなノートブックを作成するNew
ボタン(右上にあるボタン)をクリックするとPython3
に加えてBash
の項目が追加されている。Bash
をクリックするとBashが動作するノートブックが作成される。拡張子は変わらずipynb
。
ノートブックとしての使い方はPythonの場合と同じ。ショートカットなどもそのまま。
入力セルの中にシェルコマンドを記入して実行すると結果が出力される。
以下が実際のノートブックの例。
このように、Jupyter NotebookにBashカーネルを追加して使うとコマンドとその出力結果がログとしてそのまま残せる。ターミナルの表示をコピペしたりする必要がなく非常に便利。あとから同じ処理を再現することも簡単にできる。
なお、IPythonカーネルでは!
をつけてシェルコマンドを実行することもできる。標準出力をリストの文字列として取得可能なので、シェルコマンドとPythonのコードを組み合わせて使いたい場合はこちらも便利。