Visual Studio CodeでJupyter Notebookを動かしてみた

Visual Studio CodeでJupyter Notebookを動かしてみた

Clock Icon2019.10.23

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

どうも、DA事業本部の大澤です。

Visual Studio CodeのPython拡張機能のJupyter Notebook用エディタを触ってみました。Jupyter Notebookと似たインターフェイスでスクリプトが実行でき、エディタのインテリセンスのサポートも受けられて便利そうだったので、今回はその内容をご紹介します。

やってみる

Python拡張機能を有効にする

Jupyter Notebookをネイティブサポートするエディタを利用するにはPython拡張機能を有効化する必要があります。有効化してなければマーケットプレイスから検索し、有効化しましょう。

Python の環境を選択する

コマンドパレットからPython: インタープリターを選択を選択し、JupyterがインストールされたPython環境を選びます。

Python環境が一覧に表示されるので、使いたいものを選択します。

ノートブックを作成する

コマンドパレットからPython: Create Blank New Jupyter Notebookを選択し、空のノートブックを新規作成します。

Jupyter Notebookと似たインターフェイスのノートブックエディタが開きました。

エディタの上側にいくつかアイコンが表示されています。

左から順に、IPython カーネルのリスタート、IPython カーネルのインタラプト、セルの挿入、全てのセルの実行、全てのセルの出力の削除、変数一覧の表示、ノートブックの保存、Pythonスクリプトへの変換と保存です。

セルの下側にもいくつかアイコンがあります。

左から順に一つ上のセルの実行、一つ下のセルの実行、セルをマークダウンに変更、セルの削除です。

スクリプトを動かす

おなじみのIrisデータをPandasのDataFrameに読み込んでみます。 Shift+Enterかセル横の三角形のアイコンをクリックすることでセルを実行できます。
Jupyterサーバーを指定していない場合はJupyterがローカルで自動的に起動され、そこでスクリプトが実行されます。

import pandas as pd
from sklearn import datasets
iris = datasets.load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)
df

データフレームが表示されました。

インテリセンスがサポートされているので、メソッドにカーソルを合わせるとヒントが表示されます。

ヒストグラムを表示させてみます。

df.hist()

次のようにヒストグラムが描画されました。

magicコマンドも使えるようです。

%%time
for i in range(10000000):
    continue
print('done')

ノートブックを開く際のデフォルト設定

デフォルトでは.ipynbファイルを開く際はノートブックエディタが開くようになっています。設定の python.dataScience.useNotebookEditorをFalseにすることで、無効化できます。

ノートブックを保存する

control+sか画面上の保存アイコンでノートブックを保存できます。

他のファイルはcommand+sで保存できるキーバインドに設定しているんですが、ノートブックエディタの場合はcontrol+sでしか保存できませんでした。formatterやlintも効いていない様子なので、通常のエディタ機能が全てサポートされている訳ではないようです。

Jupyter サーバーに接続する

リモートもしくはローカルで起動しているJupyterに接続し、編集はVisual Studio Code上のノートブックエディタで行うことも可能です。その場合はPython: Specify Jupyter Server URIから対象のURIとトークンを指定することで接続できます。

下側を選択し、JupyterサーバーのURIを入力します。

さいごに

Visual Studio CodeでJupyterノートブックを編集/実行できる、Python拡張機能のノートブックエディタを触ってみました。通常のエディタと同じ機能がサポートされている訳ではないようですが、それでもかなり便利そうです。今後のアップデートに期待が高まります。

参考

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.