Visual Studio CodeでAnacondaの仮想環境を切り替える

Visual Studio Code(以下VSCode) でAnacondaの仮想環境を切り替える方法を紹介します。

Anacondaで仮想環境を構築する方法は次の記事を参考にしてください。
Anacondaで仮想環境を構築・削除する方法(GUI・CUI両方)

VS Codeに拡張機能「Python」をインストールしていない方は、 インストールしてください。

環境説明

まずは今回切り替える環境の説明をします。

今回の前提
仮想環境名概要Pythonバージョン
baseデフォルト3.9
test新規作成済み3.7

「base」はAnacondaをインストールした時にデフォルトで作成される仮想環境です。 今回は「test」という名前の仮想環境を新規作成したという前提で、 「base」から「test」へ切り替えます。 切り替えた時にPythonのバージョンも 「3.9」から「3.7」に切り替わっているか確認します。 「test」をご自身が作成した仮想環境名に置き換えて読んでください。

Conda Pathを設定する

VSCodeの「Conda Path」を設定していない方は設定してください。 設定から「conda」で検索すると出てきます(下図)。

「conda.exe」のある場所は、 anacondaをインストールしたフォルダの下にある「Scripts」フォルダです。 私はanacondaのインストール場所を変更しているので下のような記述になっていますが、 ご自身の環境に合わせて記述してください。

conda path

仮想環境の切り替え

VSCodeを起動して拡張子が「.py」のPythonファイルを開きます。 何でもいいです。なければ新規作成して開いてください。

VSCodeの下にあるステータスバーに、 Pythonのバージョンと現在の仮想環境「base」が表示されていると思います(下図)。 その部分(赤枠部分)をクリックします。

バージョンや仮想環境名が表示されていない場合、ステータスバー上で右クリックして 「Python(拡張機能)」にチェックを入れると表示されます。

ステータスバー

VSCodeの画面上部に「インタープリターを選択」するリストが表示されます。 ここで切り替えたい仮想環境「Python 3.7.xx ("test")」を選択します(下図)。

インタープリターを選択

ステータスバーの表示が「3.7.xx (test)」に切り替わっています(下図)。

仮想環境切り替え完了

切り替え確認

ではここで切り替わっているかどうかをスクリプトを実行して確認します。

「ターミナル」を表示している方は一度ターミナルを終了してください(重要)。 「exit」を実行するか、ゴミ箱のアイコン(下図)をクリックして終了します (右端のx印の「パネルを閉じる」ではありません)。

ターミナル終了

新しくPythonファイル(例:sample.py)を作成し、 次のコードを記述します。Pythonのバージョンを表示するコードです。

Python
import sys

print(sys.version)

ファイルを保存したら「F5」キーを押します(デバッグなしで実行)。

実行結果はターミナルに次のように表示されました(下図)。

バージョン確認

赤線部分に注目してください。

先頭は(base)となっていますが、 「conda activate test」が実行され、仮想環境が(test)に切り替わっています。 そして sample.py を実行した結果、「3.7.13」と表示されています。 これは仮想環境「test」にインストールしているバージョンと一致しています。

ちなみにこの状態でターミナル上で 「python -V」や「conda info -e」を実行した結果は 下図の通りです。仮想環境もPythonのバージョンもちゃんと切り替わっているのが 確認できます。

切り替え確認

仮想環境が切り替わらない場合

最初からターミナルを開いていた場合、ターミナルを終了しましたか?
X印の「パネルを閉じる」では不十分です。
「exit」かゴミ箱のアイコンをクリックして一度終了してください。

一旦ターミナルを終了してから「F5」を押して「デバッグなしで実行」してください。
conda activate 仮想環境名」が実行されて、初めて仮想環境が切り替わります。

Python