Jupyter Notebookはもともとは「実行可能なコードとそれに関連するテキストをひとまとめにしたドキュメント」をWebブラウザ上で作成したり共有したりすることを可能とするWebアプリだ。ドキュメントはセルと呼ばれる部分に分割され、そこにMarkdown形式でメモやコメントを記述したり、プログラムコードを記述したりしていくことで、ドキュメントとコードを1つの「ノートブック」にまとめて記述できるものだ。セルに記述したコードは実際に実行が可能であり、コードの編集と実行、そのドキュメントの編集をWebブラウザ上で効率よく行える(ことや、それを他者と簡単に共有でき、知見を広めるコストが大きく低下する)のが大きな特徴だ。機械学習やデータサイエンスの分野でよく使われているが、本稿ではそこまでは扱わずに、VS CodeでJupyterするための基礎について見ていこう。
VS CodeのPython拡張機能とJupyter拡張機能を利用すると、Jupyter Notebook(のサーバ機能)がVS Codeに統合される。これにより、Pythonモジュール(.pyファイル)の内容をセルに分割して、1つのセルだけを実行し、その結果を見ながら、コードに微修正を加えて再実行してみるといったことが手軽に行える(コードとドキュメントが一体化した「ノートブック」というよりは、コード記述と実行を簡便に行えるようになるというのが、Jupyter拡張機能がもたらす大きなメリットと筆者は感じている)。
VS CodeでJupyterするには以下が必要になる。
- Python処理系
- Jupyter(と、コードの実行に必要となるその他のパッケージ)
- Python拡張機能
- Jupyter拡張機能
Jupyterの公式サイトでは、「Anacondaディストリビューションを利用してPythonとJupyterをインストールすることを強く推奨」している。そこで今回は、筆者の環境に既にインストール済みのAnacondaのバージョン5.1.0をベースに作成したPython環境を例としよう(最新バージョンは5.2)。また、Python拡張機能は既にインストール済みであるものとする。ここでは、手抜きをして、Anaconda Navigatorから「jupyterenv_anaconda」という環境を作成している。
その後、VS Codeでコマンドパレットから[Python: インタープリターを選択]コマンドを実行して、作成した環境をPython環境として指定してやる。
Anaconda以外のPython処理系(をベースとした仮想環境など)にJupyterをインストールするのであれば、Jupyterの公式サイトにもあるようにpipコマンドでJupyterおよび必要となるパッケージをインストールする。
Jupyter拡張機能はサイドバーの[拡張機能]ビューで「jupyter」を検索して、最初に出てくるDon Jayamanne氏が作成したものをインストールすればオーケーだ。
Jupyterを利用する環境のセットアップとJupyter拡張機能のインストール、必要となるその他のパッケージやモジュールのインストールが終われば、VS CodeでJupyterを利用する準備は完了だ(例えば、以下の例ではnumpyパッケージおよびmatplotlibパッケージが必要になる)。
サンプルコードを実行してみよう
準備が整ったら、Jupyter拡張機能の説明ページにあるサンプルコードを実行してみよう。ここではjupytertestディレクトリを作り、その下にtest.pyファイルを作成して、そこにこのコードを記述している。
#%%
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
x = np.linspace(0, 20, 100)
plt.plot(x, np.sin(x))
plt.show()
サンプルコード
先頭行の「#%%」は、Jupyter Notebookにおける「セル」の区切りを示すもので、これで区切られた領域が1つの実行単位となる。そのため、この行の上には[Run cell]というリンクが表示されている。
[Run cell]リンクをクリックすると、そのセルの内容が実行される
また、以下のように「#%%」で区切ってprint関数呼び出しを記述すると、これは2つのセルを含んだコードとなる。
0 件のコメント:
コメントを投稿