連載
» 2018年06月12日 05時00分 公開

Visual Studio Codeで始めるPythonプログラミング:VS CodeからJupyter Notebookを使ってみよう (1/3)

Python人気を支えるツールの1つ「Jupyter Notebook」。VS Codeからこれを使ってみよう。Jupyter拡張機能が提供する機能も一覧する。

[かわさきしんじ,Insider.NET編集部]
「Visual Studio Codeで始めるPythonプログラミング」のインデックス

連載目次

 前回はVisual Studio Code(以下、VS Code)でPythonコードをデバッグする上での基本を見た。今回はVS CodeからJupyter Notebookを使ってみよう。なお、本稿ではWindows版VS Code(64ビット)のバージョン1.24およびJupyter拡張機能のバージョン1.1.3で動作を確認している(macOS版でもある程度の確認は行っている)。

VS CodeでJupyter Notebookを使うために必要なもの

 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」という環境を作成している。

「jupyterenv_anaconda」環境を作成しているところ 「jupyterenv_anaconda」環境を作成しているところ

 その後、VS Codeでコマンドパレットから[Python: インタープリターを選択]コマンドを実行して、作成した環境をPython環境として指定してやる。

作成したAnacondaベースの環境をPython環境として指定 作成したAnacondaベースの環境をPython環境として指定

 そうではなく、Anaconda以外のPython処理系(をベースとした仮想環境など)にJupyterをインストールするのであれば、Jupyterの公式サイトにもあるようにpipコマンドでJupyterおよび必要となるパッケージをインストールする。例えば、以下はmacOS版のVS Codeでvenvパッケージを使用して「jupyterenv_python365」という仮想環境を作成した上で、そこにJupyterをインストールしているところだ(macOSではこの環境で動作を確認している)。

macOS版のVS Codeで「jupyterenv_py365」仮想環境を作成し、そこにJupyterをインストールしたところ(統合ターミナル) macOS版のVS Codeで「jupyterenv_py365」仮想環境を作成し、そこにJupyterをインストールしたところ(統合ターミナル)

 こちらの場合も、コマンドパレットで[Python: インタープリターを選択]コマンドから、作成した仮想環境をPython環境に指定する。

 Jupyter拡張機能はサイドバーの[拡張機能]ビューで「jupyter」を検索して、最初に出てくるDon Jayamanne氏が作成したものをインストールすればオーケーだ。

Jupyter拡張機能(画面は既にインストールが終わっている状態) Jupyter拡張機能(画面は既にインストールが終わっている状態)

 Jupyterを利用する環境のセットアップとJupyter拡張機能のインストール、必要となるその他のパッケージやモジュールのインストールが終われば、VS CodeでJupyterを利用する準備は完了だ(例えば、以下の例ではnumpyパッケージおよびmatplotlibパッケージが必要になる)。

AnacondaベースのPython環境

 余談となるが、Python環境としてAnacondaベースのものを使用する場合には、その環境を有効化したコマンドプロンプトやシェルからVS Codeを起動しておくのが便利かもしれない。例えば、以下は前述した「jupyterenv_anaconda」環境を有効化したAnacondaプロンプトからVS Codeを起動しているところだ。

Anacondaベースの環境を有効化した状態でVS Codeを起動 Anacondaベースの環境を有効化した状態でVS Codeを起動

 VS Codeのウィンドウ右下にはおなじみの「pylintがない」エラーが表示されている。ここで[Install]ボタンをクリックすると、Anaconda環境が有効化されているときには次のようにcondaコマンドとpipコマンドのどちらを使用するかのプロンプトが表示される。Anaconda環境が有効でないときには、python.pythonPath項目で指定されているpythonコマンドに対してpipパッケージを指定して、パッケージのインストールが行われるようだ(ただし、検証したのはWindows版のみなので、他の環境では異なる振る舞いとなるかもしれない)。

パッケージのインストールにcondaコマンドとpipコマンドのどちらを使用するかの指定 パッケージのインストールにcondaコマンドとpipコマンドのどちらを使用するかの指定

 この他にもコマンドパレットの[Python: Create Terminal]コマンドを実行したときの挙動に差がある(筆者が試したところでは、単にターミナルを開くだけでPython環境が有効化されてはいないような挙動となった)ので、AnacondaベースのPython環境を使うときには、それを有効化した状況(コマンドプロンプトなど)からVS Codeを起動するのがオススメだ。


       1|2|3 次のページへ

Copyright© 1999-2018 Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。