VSCodeでPythonが実行できない原因と対処法|インタープリタが見つからない場合

① 結論

結論:
VSCodeでPythonが実行できない原因のほとんどは、
プロジェクトが参照しているPythonインタープリタ(実行環境)が誤っていることです。
「正しいインタープリタを選択」し、必要ならプロジェクト設定(.vscode/settings.json)で固定すれば解決します。

VSCodeは「ワークスペース(フォルダ)単位」でインタープリタ設定を保持します。
そのため、別プロジェクトでは動くのに、今回のフォルダだけ失敗するのは珍しくありません。

② 起きている症状

  • VSCodeの実行(Run)でPythonが動かない/エラーになる
  • 「Python interpreter is not selected」「インタープリタが見つからない」等が出る
  • venvを作ったはずなのに、その環境が選択肢に出ない
  • ターミナルでは動くのに、VSCodeの実行だけ失敗する

③ よくある原因(優先度順)

原因①:VSCodeでPythonインタープリタが未選択/誤選択

【詳細】
VSCodeはプロジェクトごとに「どのPythonで実行するか(インタープリタ)」を保持します。
未選択の場合や、別プロジェクトの設定が残っている場合、
存在しないPythonパスを参照して実行に失敗します。
また、OS標準PythonとvenvのPythonが混在していると、意図しない環境で実行されて
「インストールしたはずのライブラリが見つからない」などの問題も発生します。

起きやすい条件:
・別PC/別環境からフォルダをコピーしてきた
・以前使っていたvenvを削除した/作り直した
・ワークスペースを開き直した(別設定が適用された)

判断ポイント:
VSCodeで「Python: Select Interpreter」を開いたときに、
選択中のインタープリタが「存在しないパス」または「想定外のPython」になっている場合、この原因に該当します。
ターミナルでも確認するなら、VSCode内ターミナルで以下を実行し、プロジェクトの想定Pythonと一致するか確認します。

python --version
which python

原因②:仮想環境(venv)がVSCodeに認識されていない

【詳細】
venvを作成しても、VSCodeがそのフォルダをワークスペースとして認識していない、
またはPython拡張が正しく検出できない状態だと、インタープリタ候補に表示されません。
特に「venvを作った場所がプロジェクト直下ではない」「WSL/リモート環境で開いている」場合、
検出に失敗しやすくなります。

起きやすい条件:
・venvをプロジェクト外のディレクトリに作っている
・WSL/SSH/Dev Containersなどのリモート環境で開いている
・venv作成後にVSCodeを再起動していない

判断ポイント:
プロジェクト直下に venv/bin/python(Windowsなら venv\\Scripts\\python.exe)が存在するのに、
「Select Interpreter」に出てこない場合、この原因に該当します。
まずファイルの存在を確認します。

ls -la venv/bin/python

原因③:Python拡張機能(ms-python.python)が未導入/壊れている

【詳細】
VSCodeでPython実行・インタープリタ選択・デバッグを安定させるには、
Python拡張(Microsoft公式)が必須です。拡張が未導入、または更新失敗・競合があると、
インタープリタ検出や実行が不安定になります。

起きやすい条件:
・VSCodeを入れたばかり
・拡張を整理した直後
・企業端末などで拡張インストール制限がある

判断ポイント:
VSCodeの拡張一覧で「Python(Microsoft)」が無い、または無効になっている場合、この原因に該当します。

④ 切り分け手順(上から順に実行)

手順1:インタープリタを選び直す

コマンドパレット(Ctrl+Shift+P)を開き、以下を実行します。

Python: Select Interpreter

候補からプロジェクトの想定環境(venvなど)を選択し、再度実行します。
ここで「想定環境が候補に出ない」場合は次の手順へ進みます。

手順2:venvの実体が存在するか確認

ls -la venv/bin/python
python --version

venvのPythonが存在しない場合は、venvの作成自体が失敗しているか、別場所に作っている可能性があります。

手順3:Python拡張が有効か確認

拡張機能(Extensions)で「Python(Microsoft)」が有効になっているか確認します。

⑤ 具体的な解決方法

解決策①:正しいインタープリタを明示的に固定する

プロジェクト直下に .vscode/settings.json を作成し、Pythonパスを固定します。
(環境によりパスは異なります。まずは which python の結果を使います)

{
  "python.defaultInterpreterPath": "/home/ユーザー/プロジェクト/venv/bin/python"
}

これにより、VSCodeが別環境を参照して実行できない問題を防げます。

解決策②:venvをプロジェクト直下に作り直す(最短で安定)

python3 -m venv venv
source venv/bin/activate
python -m pip install --upgrade pip

venvをプロジェクト直下に置くと、VSCodeの検出が安定します。

解決策③:Python拡張を再インストールする

「Python(Microsoft)」拡張を無効→有効、または再インストールし、
VSCodeを再起動します。

⑥ 再発防止チェックリスト

  • プロジェクトごとにvenvを作り、プロジェクト直下に置く(検出安定)
  • .vscode/settings.json でインタープリタを固定する(参照ズレ防止)
  • Python拡張を必ず有効化する(実行・検出の前提)

⑦ それでも解決しない場合の次の一手

  • VSCodeの「Output」→「Python」ログを確認(検出失敗理由が出る)
  • ターミナル実行とVSCode実行の差分を確認する(実行環境のズレ)
which python
python --version
python -c "import sys; print(sys.executable)"
  • 最終手段:新しいフォルダで最小構成(venv作成→実行)を試し、プロジェクト固有の問題か切り分ける

コメント

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