① 結論
結論:
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作成→実行)を試し、プロジェクト固有の問題か切り分ける

コメント