VSCodeでPythonインタープリターを選択・切り替える方法:pyenv・venv・mise対応

スポンサーリンク

VSCodeでPythonインタープリターを選択・切り替える方法:pyenv・venv・mise対応

はじめに

VSCodeでPythonを使うとき、インタープリターの選択を正しく行わないとコードの実行やlintが期待通りに動きません。

  • 複数のPythonバージョンを使い分けている
  • プロジェクトごとにvenv(仮想環境)を使っている
  • pyenvやmiseでバージョン管理している

この記事ではVSCodeのPythonインタープリターの選択・切り替え方法を解説します。


インタープリターの選択方法

コマンドパレットから選択する

最も基本的な方法です。

  1. Cmd + Shift + P(Windowsは Ctrl + Shift + P)でコマンドパレットを開く
  2. Python: Select Interpreter と入力して選択
  3. 使いたいPythonを一覧から選ぶ
Python 3.13.2 ('base': conda)
Python 3.11.9 /usr/local/bin/python3
Python 3.13.2 ('.venv': venv) ← プロジェクトのvenv

venvを使っている場合は ('.venv': venv) のように仮想環境名が表示されます。

ステータスバーから選択する

VSCodeの右下のステータスバーにPythonのバージョンが表示されています。クリックするとインタープリター一覧が開きます。

Python 3.13.2 64-bit  ← ここをクリック

プロジェクト別にインタープリターを設定する

settings.json に記述する

.vscode/settings.json に設定を書くと、そのプロジェクトで自動的に使われます。

{
  "python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python"
}

${workspaceFolder} はVSCodeで開いているフォルダのパスに自動で置き換わります。チームで同じ設定を共有したい場合は .vscode/settings.json をgitに含めます。


venv(仮想環境)と組み合わせる

プロジェクトルートに .venv を作成している場合、VSCodeが自動で検出してくれることがあります。

# 仮想環境を作成
python3 -m venv .venv

# VSCodeを開き直すか、コマンドパレットからインタープリターを再スキャン

検出されない場合は「インタープリターのパスを入力」を選んでパスを直接指定します。

/path/to/project/.venv/bin/python

pyenvと組み合わせる

pyenvでPythonを管理している場合、pyenvのインタープリターが一覧に表示されます。

# pyenvでインストール済みのバージョン確認
pyenv versions
#   system
#   3.11.9
# * 3.13.2 (set by ~/.pyenv/version)

# プロジェクトのバージョン設定
pyenv local 3.11.9

.python-version ファイルが作成されると、VSCodeはそのバージョンを優先して表示します。

pyenvのインタープリターのパスは通常以下の形式です。

~/.pyenv/versions/3.11.9/bin/python

miseと組み合わせる

miseでPythonを管理している場合も同様に検出されます。

# プロジェクトのPythonバージョンを設定
mise use python@3.13.2

.mise.toml が作成された状態でVSCodeを開くと、miseが管理するPythonが一覧に表示されます。

miseのインタープリターのパスは以下の形式です。

~/.local/share/mise/installs/python/3.13.2/bin/python

よくある問題と対処法

インタープリターが一覧に表示されない

Python拡張機能がインストールされていない

VSCodeの拡張機能から「Python」(Microsoft製)をインストールしてください。

パスを直接指定する

一覧に表示されない場合はパスを手動で入力します。コマンドパレットで Python: Select Interpreter を開き、「インタープリターのパスを入力...」を選択します。

# インタープリターのパスを確認
which python3
# /usr/local/bin/python3

# pyenvの場合
pyenv which python
# /Users/username/.pyenv/versions/3.13.2/bin/python

選択したはずなのに反映されない

VSCodeを再起動するか、ウィンドウのリロード(Cmd + Shift + PDeveloper: Reload Window)を試してください。

lintやimportが赤くなる

インタープリターが正しく設定されていても、パッケージが仮想環境にインストールされていない場合があります。

# 仮想環境を有効化してパッケージをインストール
source .venv/bin/activate
pip install -r requirements.txt

インストール後、VSCodeのインタープリターが .venv を指していることを確認してください。


まとめ

操作 方法
インタープリターを選択 Cmd + Shift + PPython: Select Interpreter
ステータスバーから選択 右下のPythonバージョンをクリック
プロジェクト設定に保存 .vscode/settings.jsonpython.defaultInterpreterPath を記述
パスを直接指定 「インタープリターのパスを入力...」から手動入力

Pythonのバージョン管理ツールについては「Pythonのバージョン管理:pyenv・miseの使い方と切り替え方法」を参照してください。

ディレクトリに入ったときにvenvを自動で有効化するには「direnv入門:ディレクトリごとに環境変数を自動で切り替える」を参照してください。

VSCodeのショートカットや設定のまとめは「VSCodeチートシート:ショートカット・settings.json・言語別セットアップまとめ」を参照してください。