VSCodeでのPython、Jupyter実行環境の構築方法


VSCodeでのPython、Jupyter実行環境の構築方法をまとめました。Anacondaを使っていますが、Minicondaなど他の環境でも同様に設定できると思います。

また、Pythonでデータ分析する人は、ブラウザからJupyter notebookやJupyter Labを使う方が多いと思います。そんな人にもVSCodeはお勧めです。

また、この記事はVSCodeを使ったPythonパッケージの作り方の記事の一部です。

Anacondaがダウンロードしてあるという仮定で話を進めていきます.(Anacondaインストール時に同時にVSCodeをインストールするのではなく別途インストール)

また各ソフトのバージョン違いや、英語、日本語の違い等によって画面の表示が異なる場合もあると思います。その場合は適宜読み替えてください。

環境

備考
OS Windows10
conda 4.8.3 Anaconda Promptでconda -V
Anaconda 2020.02 Anaconda Promptでconda list anaconda
Python 3.8.2
VSCode 1.43.2

また、例としてKaggleのタイタニック号のデータを使うことにしますが、データはなくてもVSCodeでのPython実行環境の構築はできるので用意しなくても大丈夫です。

VS Codeのインストール

VS Codeをインストールしてください。基本,何も考えずに[次へ]でいいと思います。

Anacondaでの仮想環境の立ち上げ

Anaconda Promptを立ち上げ、

conda create -n 好きな環境名 python=Pythonバージョン

で仮想環境を立ち上げてください。

今回は環境名はtitanicとします。

(環境を作った後、

conda info -e

で仮想環境の一覧が表示できるので、ちゃんと自分の環境名があるか確認してください。)

そして仮想環境を起動します。

conda activate titanic

ここから必要なモジュールをインストールします。例としてpandasをインストールしておきましょう。

conda install pandas

VSCodeでPythonコードを実行してみる

ここからVS CodeでのPythonを実行してみます。スタートメニューでVSCodeと検索し、VSCodeを立ち上げてください。

流れとしては
- Pytho拡張機能をインストール
- プログラムを書く
- Python実行環境を整える
- プログラムを実行

という流れになります。順番に説明します。

Pytho拡張機能をインストール


まずVSCodeが開いたら、①左端のサイドバーからExtensionsをクリックし、②pythonと検索します。そして③Microsoft製のPytho拡張機能をインストールします。

プログラムを書く

フォルダを開き、実際のプログラムを書きます。



VSCodeの上のメニューバーからFile>Open Folderを選び、これからプログラムを作っていきたいフォルダを開きます。


フォルダを開いたらテスト用のpyファイルを作ります。


適当なプログラムを作成します。訓練データを読み込み表示するプログラムです。

データがない場合は

print('Hello')

などの適当なプログラムで大丈夫ですです。このプログラムをpython上で実行してみます。

Python実行環境を整える

実行環境をCommand Promptに変更する

VSCodeでの実行環境(Terminal)をCommand Promptに変更します。



次に上のメニューバーからTerminal>New Terminalを選択します。

するとウィンドウ下部にターミナルがひらきます。

次にこのターミナルの右上の「+」(プラスマーク)の横の「v」のマークのプルダウンメニューから「Select Default Profile」を選択します。

そうすると、上の画像のように上からターミナルの種類を選べるようになるので、「Command Proompt」を選択してください。

これはTerminalがGit BashやPowerShellのままだとPythonが実行できないから変更します。(Windowsの場合だけかもしれません)

Pythonインタプリタを設定する。

次にPythonコードを実行するためのインタプリタ(実行環境)を設定します。

Ctrl+Shift+Pを押し、VSCodeのコマンドパレットを開き、②python selectと検索します。そして③Python Select Interpreterを選択します。


そして先程作った「好きな環境名」の環境を選択します。今回の場合はtitanic:condaです。


そうすると上図のようにフォルダ内に.vscode>setting.jsonというjsonファイルが作られます。そのファイルには指定した環境のpython.exeの場所が記載されています。

PythonインタプリタにAnacondaの環境名が現れない

ただ、同じように操作したとしても、PythonインタプリタにAnacondaの環境名が現れない場合があると思います。これはAnacondaのインストール場所をデフォルトから変えた場合などが考えられます。

その場合は以下の記事を参考に環境変数PATHなどを設定してください。

VS Code で Anaconda の Python デバッグ 環境構築(Visual Studio Code)

また、VSCodeがPC上のPythonインタプリタを検索しきれていない場合もあるので、VSCodeを再起動して数秒待ってからもう一度Python Select Interpreterを選択し直すなどしてみてください。

Pythonの実行設定を設定する

①VSCodeでpythonコード(ここではtest.py)を開いた状態で、②左端のサイドバーのRunを選択し、③create a launch.json fileを選択してください。


Debug ConfigurationPython Fileを選択してください。


そうすると上図のようにフォルダ内に.vscode>launch.jsonというjsonファイルが作られます。このファイルはPythonの実行設定が記載されています。

プログラムを実行する


実行したいコード(ここではtest.py)を開いた状態で、F5キーを押すことでコードが実行できます。


ただ初回の一回の実行は上図のようにエラーになってしまうと思います。


その場合は実行したときに現れる上図のようなボタンの赤い四角のボタン(Stop)をクリックし、実行をストップしてください。

実行を止めると、上図のように、環境が自分の環境(今回はtitanic)に切り替わることがわかります。


この状態で再度F5キーを押すと、上図のようにコードが実行でき、訓練データの中身が出力されました。

設定ファイルが作られ設定が完了したので、これ以降はVSCodeでF5キーを押すだけでPythonを実行できるようになります。

デバッグの活用

VSCodeのPython実行には様々な機能があります。


上図のように訓練データをの形状を表示するようにtest.pyを書き換えます。そしてprint(train_shape)となっている6行目でF9キーを押します。そうすると、この行の左端に赤い点が表示されます。これをブレークポイントといいます。そしてこの状態でF5キーを押して実行すると、


上図のように6行目で実行が一時停止し、その時宣言されている変数(ここではtrain_shape)が左のサイドバーに表示されています。このようにブレークポイントを用いることで、プログラムのバグ取り(=デバッグ)が捗ると思います。

他にも様々な機能があるので、下の記事などを読んで、各自調べてみてください。

VS CodeでPythonコードのデバッグも楽々!! (1/4)

Jupyter Notebookの実行

ただ、データ分析する際は、データの可視化がしやすいJupyter Notebookを使うことが多いと思います。実はVSCodeではJupyterも実行することができます!

conda install jupyter

まず、Anaconda Promptで自分の環境(今回はtitanic)にJupyterをインストールします。

そしてVSCodeで①Ctrl+Shift+Pを押し、VSCodeのコマンドパレットを開き、②python select interpreterと入力します。そして③python select interpreter to start jupyter serverを選択します


そして先程と同様に「好きな環境名」(今回の場合はtitanic:conda)の環境を選択します。


そしてJupyterを実行するためにipynbファイルを作成します。


このipynbファイルを開いたときに、右上の環境名が指定した環境になっているか確認してください。別の環境名になっていた場合はここをクリックし再度環境を指定し直してください。


これでJupyterも実行できるようになりました。

ただ、VSCodeのJupyterは不安定で、動かないことも多いです。その場合はいつものように、ブラウザからJupyterを使ってください。

終わりに

ここまで長々と説明してきましたが、正直ただ単にこれだけだとデータ分析にVSCodeを使うメリットは少ないように思います。

実際、Jupyter Notebookでもnbextensionsのvariable inspector等でも同じことはできるからです。

VSCodeを使ったPythonパッケージの作り方で説明する、Pythonのパッケージ化と組み合わせると、様々なメリットが見えてきます。こちらの記事もよろしくおねがいします。