【VSCode】JupyterNotebookの連携と必須プラグインPylanceの導入【超快適】

スポンサーリンク
VisualStudioCodeでJupyterNotebookを操作する DevTools

Pythonの開発環境としてJupyterNotebookはとても有名で実際に使われているユーザーは多いかと思います。”セル”と呼ばれるスペースに機能ごとにコードを入力して即座に実行・結果を確認しフィードバックできる。ブラウザベースの直感的に分かりやすいGUIで難しい操作が必要ないなど誰にでも簡単に使うことができる・・・など秀逸な開発環境だと思います。

ただ、少しPython上級者や開発者のユーザー層にとっては、物足りなさも感じる点があるのも事実だと思います。たとえば、現在の他の主流なIDEには当たり前の次のような機能は残念ながらJupyterNotebookで対応してくれません。(完全に未対応ではありませんが、、)

JupyterNotebookで不足している機能とは・・・
  • Debug機能を使いたい
  • コード入力補完機能をつかってタイプミスを減らしたい
  • ヒントやコードスニペットの表示させたい

そこで、今回の記事ではマイクロソフトのVisual Studio Code(以降VSCodeと表す)と

JupyterNotebook環境(以降Jupyterと表す)を連携させて、VSCodeからJupyterを使う方法をご紹介したいと思います。

Jupyterの開発容易性とVSCodeの拡張機能を駆使し、それぞれのメリットを生かしながら効率的に開発を進めていきましょう。

スポンサーリンク

1. VSCodeと「JupyterNotebook」を連携させる方法

VSCodeとJupyter環境とを連携させる方法を紹介しますが、本記事ではJupyterはAnacondaディストリビューションに同梱されたものを使うということを前提にして説明を進めていきます。

VSCodeでJupyter環境を使うには次のような手順になります。

VSCodeとJupyterを連携する手順

1.Jupyterの管理アプリ(Anaconda)に仮想環境を用意する (※1)

2.VSCode上で動かすPython環境を1.でつくった仮想環境とを紐づけする (※2)

3.VSCode上のコマンドパレットでJupter環境を呼び出します

※1 必須ではありません

※2 ➀で仮想環境を用意しなかった場合は、既存のJupyter環境を紐づけします。

ではそれぞれについて順に説明してきます。

1.1 Jupyterの管理ツール(Anaconda)で仮想環境つくる

Anacondaには仮想環境という概念があり、プロジェクトや開発用途によってライブラリ管理環境(仮想環境)をつくり必要に応じて環境ごと切り分けるこができます。

したがって、VSCode用に仮想環境も用意し、そちらと連携するようにすると良いでしょう。

Anacondaによる仮想環境の作り方は次の関連記事を参照してください。

1.2 VSCodeとJupyter(Anaconda)の仮想環境を紐づけする

次にVSCodeとJupyter(Anaconda)仮想環境とを紐づけします。まず、VSCodeのステータスバーにある現在の実行環境をクリックします。() すると、ツールバー上にマシン上にインストールされているPythonの実行環境一覧がポップされます。() この中から1.1項で作成した仮想環境下で動作するJupyterを選択します。()

VScodeとPythonの実行環境とを紐づける
図2. VSCodeとJupyter環境との紐づけ

これだけで両環境の紐づけ作業は完了です。実に簡単ですね。

1.3 コマンドパレットでJupyterNotebookを起動する

そして、次の手順でVSCodeからJupyterを起動します。メニューバーの 表示 から コマンドパレット と進み、コマンドパレットを表示させます(図3 ,)

VScodeのコマンドパレットの使い方1
図3. VSCodeコマンドパレットの呼び出し

コマンドパレットに Jupyter と入力しJupyterに関連するコマンド(操作)一覧を表示させます。この中からまずは新規ノートブックを作りたいので、Create New Blank Jupyter Notebook を選択します。(図4 ,)

VScodeのコマンドパレットの使い方2
図4. コマンドパレットから新規ノートブックを作成

すると、次図のようにVSCodeのコードエディタ部分にJupyterのCellが表示され()、Jupyter同様の操作性()でコーディングすることができるようになります

ショートカットも Ctrl + Enter で実行、bキー で直下に新規シート追加、mキー でマークアップ表記など同様に使えます。

VScodeでPythonと連携
図5. VSCodeでJupyterを起動
スポンサーリンク

2. Python開発を便利にする機能拡張(Pylance)の導入

Python_基本文法_内包表記

前項までで、VSCodeとJupyterとを連携することができるようになりました。つまり、JupyterでできることがVSCodeでもできるようになったということです。

さて、このVSCodeですが、拡張機能(プラグイン)という、ユーザーが独自にカスタマイズすることができる機能があります。

この拡張機能をつかってVSCode+Jupyterの開発環境をより便利にしていきましょう

2.1 Python開発を支援するプラグイン「Pylance」を導入しよう

Pylanceとは、近代プログラミング環境では欠かすことのできない最新機能をPythonで使えるようにしたVSCode用のプラグインです。

具体的には、Pylanceを導入することで次のようなことができるようになります。

プラグライン「Pylance」で使える便利機能
  • InteliSense
  • linting
  • デバッグ機能
  • コードナビゲーションスニペット

など、Pythonの開発全般を強力に支援してくれるプラグインなのでPylanceを導入することを強くおすすめします。

VScodeの拡張機能_Pylanceのロゴ
図6. 必須プラグインPylance

公式サイトは次のとおりです。

Pylance公式サイト

https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance&ssr=false#overview

その他の特徴については次のとおりです。(公式サイトより抜粋)

Pylanceの概要
図7. その他Pylanceの概要(公式サイトより抜粋)

VSCodeの拡張機能の導入方法については、次の関連記事で解説していますので参照してください。

2.2 Pylanceの便利機能の紹介

ここでは、Pylanceの便利機能のなかからいくつかを紹介したいと思います。

2.2.1 InteliSense(コード入力補完)

まずはじめに、コード入力補完について解説します、現在主流のコードエディタやIDEでは当たり前のようにサポートされている本機能ですが、当然ながら本プラグインでもサポートしています。

例えば、次のようにコードを入力していると()、途中でAIが自動判断した入力候補(次に入力される可能性が高い順)のウィンドウがポップアップして教えてくれます()。

ユーザーはこの候補の中から適当なものを Tabキー で確定することでコードを入力していきます。ユーザーにとってはコードを振り返る頻度を減らし、タイプミスなく半自動的にコーディングできるようになります。

VScodeでPythonと連携_入力補完機能
図8. Pylanceのコード入力補完

2.2.2 InteliSense(コードスニペット機能)

次に、コードスニペット機能を紹介します。これも他の高機能ツールなどでは当然のように搭載されていますが、Pylanceを導入することでVSCodeで使えるようになります

具体的には、コード中に使い方の詳細を知りたいメソッドがあったりした場合は、その対象上にマウスを置くことで()、即座に詳細説明がポップアップして使い方を教えてくれます()。都度、公式サイトやDocumentを調べにいく必要がなくなります。

また、実行後に変数や配列などにマウスをおくと各属性値を確認することができるため簡易的なデバッグ(実行結果のトレース)する際に便利です。

VScodeでPythonと連携_ヒント
図9. Pylanceのコードスニペット

2.2.3 Debug機能

最後にDebug機能を紹介します。VSCodeとPylanceを使うことにより本格的なデバッグを行うことができます。順を追って解説していきます。

このDebug機能を使用するにはJupterNotebook形式(*.ipynb)のままでは対応できないため、一度Pythonスクリプト形式(*.py)に変換する必要があります

上部のアイコン一覧から エクスポート を選択し、Python Script で変換後、適当な名前を付けて保存します。

VScodeでPythonと連携_Debug機能1
図10. Debug機能 Python Scriptのエクスポート

エクスポートしたスクリプトを開くと、コード中に Debug Cell というボタンが表示されます。

これを押下することでDebugモードに移行することができます。

VScodeでPythonと連携_Debug機能2
図11. Debug機能Debugモードへ移行

次の図はDebugモード中の画面になります。ブレークポイントを設定して処理を中断して()、ステップ実行などを行うことができます。()また、各種変数や属性値を随時確認することができ、これらを意図的に変更してその効果を確認できる()など他の開発環境と同等のことができるようになります。

VScodeでPythonと連携_Debug機能3
図12. Debug機能Debugモード
スポンサーリンク

3. まとめ

いかがでしたでしょうか?

今回はVSCodeでPythonの開発をする手段として人気のJupyterNotebookと連携させる手法について解説してきました。

JupyterNotebookで物足りない部分をVSCodeの拡張機能で補うまたはパワーアップさせることができるのは大きなメリットといえるでしょう。Pythonでの開発にVSCodeを積極的に取り入れていきたいですね。

最後までお読みいただきありがとうございました。

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