VS Code「No Python interpreter is selected」エラーの修正方法

beginner💻 VS Code2026-03-25| VS Code 1.80以降、Python拡張機能(ms-python.python)、Windows / macOS / Linux、virtualenv/conda使用有無を問わず

Error Message

No Python interpreter is selected. Please select a Python interpreter to enable features such as IntelliSense.
#vscode#python#interpreter#virtualenv

TL;DR

コマンドパレット(Ctrl+Shift+P / Cmd+Shift+P)を開き、Python: Select Interpreter を実行して、使用するPythonバージョンを選択してください。仮想環境がリストに表示されない場合は、パスを手動で入力します。

このエラーの原因

Python拡張機能は、IntelliSense・リンター・デバッガー・統合ターミナルを動作させるために、使用するPythonバイナリを認識する必要があります。設定されていない場合、以下のバナーが表示されます:

No Python interpreter is selected. Please select a Python interpreter to enable features such as IntelliSense.

主な原因:

  • 新しいワークスペース — インタープリターが一度も選択されていない
  • 仮想環境を削除・再作成したため、保存済みのパスが古くなっている
  • VS Codeが .venv やconda環境を自動検出できない
  • Python拡張機能をインストールしたばかりで、まだ設定されていない
  • Windowsインストール時に「Add Python to PATH」のチェックを入れなかった

修正方法1: コマンドパレットでインタープリターを選択する(まずここから)

  • Ctrl+Shift+P(Windows/Linux)または Cmd+Shift+P(macOS)を押す
  • Python: Select Interpreter と入力してEnterを押す
  • ドロップダウンから使用するバージョンを選択する

完了したら、下部のステータスバーを確認してください。警告アイコンの代わりに Python 3.11.4 のように表示されれば、正常に設定されています。

修正方法2: インタープリターがリストにない — パスを手動で入力する

ワークスペースフォルダー外に作成した仮想環境は、リストに表示されないことがあります。インタープリターリストの先頭にある Enter interpreter path... を選択し、Pythonバイナリを参照して指定してください。

よく使われるパスの例:

# Linux/macOS — virtualenv
.venv/bin/python

# Windows — virtualenv
.venv\Scripts\python.exe

# conda environment
~/miniconda3/envs/myenv/bin/python

# System Python (Linux)
/usr/bin/python3

# System Python (macOS with Homebrew)
/opt/homebrew/bin/python3

Pythonのインストール場所がわからない場合は、ターミナルで以下を実行してください:

# Linux/macOS
which python3

# Windows
where python

# アクティブな仮想環境内で
python -c "import sys; print(sys.executable)"

修正方法3: ワークスペースローカルの仮想環境を作成する

VS Codeは、ワークスペースのルートに直接配置された .venv または venv フォルダーを自動検出します。別の場所に置くと検出されません。最も簡単な解決策は、プロジェクト直下に作成することです:

# プロジェクトディレクトリに .venv を作成
python3 -m venv .venv

# アクティベート(Linux/macOS)
source .venv/bin/activate

# アクティベート(Windows)
.venv\Scripts\activate

ウィンドウをリロード(Ctrl+Shift+PDeveloper: Reload Window)すると、VS Codeが新しい .venv を検出し、自動的に選択を促すプロンプトが表示されます。

修正方法4: ワークスペース設定でインタープリターを固定する

チームで開発している場合は、インタープリターのパスを固定することで、全員が初回起動時に同じ環境を使用できます。手動での選択も不要になります。.vscode/settings.json に以下を追加してください:

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

Windowsのパス(バックスラッシュのエスケープに注意):

{
  "python.defaultInterpreterPath": "${workspaceFolder}\\.venv\\Scripts\\python.exe"
}

このファイルをコミットしておけば、次回誰かがリポジトリをクローンしてVS Codeで開いたとき、インタープリターがすでに設定された状態になります。

修正方法5: PythonがPATHに含まれていない(Windows)

ドロップダウンにPythonの選択肢が一切表示されない場合、PythonがシステムのPATHに登録されていない可能性があります。

ターミナルで簡単に確認できます:

python --version
# または
python3 --version

'python' is not recognized と表示される場合は、python.orgからPythonを再インストールしてください。インストール時に 「Add Python to PATH」 にチェックを入れてください — デフォルトでは未チェックのため見落としやすい項目です。

再インストールなしで修正したい場合は、Pythonの場所を特定して手動でPATHに追加します:

# Pythonのインストール場所を確認する(Windows)
where python

# 一般的なインストール場所の例:
# C:\Users\YourName\AppData\Local\Programs\Python\Python311\

# 以下の手順でそのフォルダーをPATHに追加:
# システムのプロパティ > 環境変数 > Path > 編集

PATHを変更した後は、ウィンドウのリロードだけでなく、VS Codeを完全に再起動してください。

修正方法6: Conda環境が検出されない

VS Codeの起動時に conda 自体がPATHに含まれていない場合、conda環境が検出されないことがあります。対象環境のPythonバイナリのパスを取得するには:

# すべてのconda環境を一覧表示
conda env list

# 特定の環境のPythonバイナリパスを取得
conda run -n myenv python -c "import sys; print(sys.executable)"

取得したパスを、修正方法2の Enter interpreter path... オプションに貼り付けてください。または、ターミナルでconda環境をアクティベートしてから、同じターミナルセッションでVS Codeを起動すると、環境変数が引き継がれます。

動作確認

修正後、以下の4つを確認してください:

  • ステータスバー — 左下にバージョンと環境名が表示されているか確認します(例:3.11.4 ('.venv': venv)
  • IntelliSense — 任意の .py ファイルを開き、インポート部分にホバーしてみてください。型ヒントが表示されれば正常です。
  • ターミナルとの一致 — 統合ターミナルを開いて確認します:
python --version
# ステータスバーに表示されているバージョンと一致する必要があります
  • バナーの消去 — 「No Python interpreter」の黄色い通知が消えているか確認します

それでも解決しない場合

  • Python拡張機能ms-python.python)がMicrosoft公式のものであることを確認してください — フォーク版ではありません。拡張機能パネルで「Python」を検索し、パブリッシャーを確認します。
  • 設定を変更した後は、効果がないと判断する前に必ず Developer: Reload Window を実行してください
  • 出力パネル(Ctrl+Shift+U)を開き、ドロップダウンから Python を選択すると、拡張機能のエラーログを確認できます
  • リモートSSHやDevContainerを使用している場合:インタープリターはローカルマシンではなく、リモート側で選択する必要があります

Related Error Notes