Skip to content

VSCode Python拡張の「Reactivating terminals」エラー解決

問題の説明

VS Codeをv1.92以降に更新後、Python拡張が起動に失敗し、ステータスバーに「Reactivating terminals...」のスピナーが無限に表示される現象が発生します。この時、OUTPUT > Pythonタブには次のエラーが記録されます:

text
Failed to resolve env "/mnt/data-linux/miniconda3"

主な原因:

  • Python環境パスの解決失敗(特にconda/miniconda環境)
  • 拡張機能のネイティブロケーター(python.locator)のバグ
  • 破損した仮想環境キャッシュ
  • 古いPython拡張バージョンの問題

解決策一覧

以下に効果的な解決法を優先度順に記載します。状況に応じて段階的に試してください。


1. Python拡張の更新(最優先推奨)

最も確実な根本解決:バージョン2024.14.1以降で修正済み

bash
# 手順
1. VS Codeで拡張機能アイコン(□■□)をクリック
2. 「Python」拡張を探す
3. 「更新」ボタンをクリック
4. 更新後、VS Codeを完全に再起動

最新版のメリット

  • python.locatorの根本問題修正
  • 非推奨の回避策ではなく公式対応
  • 今後のサポート維持が可能

注意

拡張更新後、必ず「Reload Required」表示で再起動してください。再起動しないと修正が適用されません。


2. Python Locator設定変更(ワークアラウンド)

即効性がある応急処置(拡張更新不可時)

  1. Ctrl + Shift + Pでコマンドパレットを開く
  2. Preferences: Open User Settings (JSON)を選択
  3. settings.jsonに次を追加:
json
{
  "python.locator": "js",
}
  1. 設定を保存し、VS Codeを完全に再起動

仕組み
デフォルト設定の"native"モードにバグがあるため、旧版の"js"ロケーターに切り替えます。ただしこれは一時的回避策です。

Python Locator設定画面

3. Pythonキャッシュのクリア

環境変更後に効果的

  1. Ctrl + Shift + Pでコマンドパレット開く
  2. Python: Clear Cacheを検索・実行
  3. Python: Clear Cache and Reload Windowを選択
  4. VS Codeが自動再読み込み

使用タイミング

  • 仮想環境パスを変更・移動した後
  • conda環境を再構築した後
  • 前項の設定変更後も問題が継続する場合

4. 仮想環境の再作成(破損した.venv対策)

エラー例: Failed to resolve env "/tmp/.555/bin/python"

bash
# 破損環境の再作成(プロジェクト直下で実行)
rm -rf .venv           # 既存環境削除
python -m venv .venv   # 新規環境作成
source .venv/bin/activate  # 環境アクティベート

Windows(PowerShell)の場合:

powershell
Remove-Item -Recurse -Force .venv
python -m venv .venv
.\.venv\Scripts\activate

実施後のチェック

bash
which python  # 正しいパス(.venv内)を指しているか確認

5. Pythonインタープリターの再選択

シンプルな初期対応

  1. Ctrl + Shift + PPython: Select Interpreter
  2. 適切な環境(例:/mnt/data-linux/miniconda3/bin/python)を選択
  3. VS Codeを再起動
Pythonインタープリター選択画面

その他のケース別対処法

リモート開発環境での問題

bash
# SSH接続先サーバーで実行
mv ~/.vscode-server/ ~/old_vscode-server/  # キャッシュ削除

リモート再接続後、仮想環境が再検出されます。ログは以下で確認可能:

bash
~/.vscode-server/data/logs/<日付>/exthost1/ms-python.python/Python\ Locator.log

セキュリティソフトがブロックする場合

  • 利用中のセキュリティソフトを一時無効化
  • pet.exe等のVS Code関連プロセスを許可リスト追加

根本原因と予防策

この問題は主にVS CodeのPython環境探索アルゴリズム変更python.locator)に起因します。予防のためには:

  1. 拡張機能は常に最新版を維持(設定で自動更新有効化推奨)
  2. 仮想環境は適切なパーミッションで管理
  3. 環境移動時は必ずキャッシュクリアを実行

問題が継続する場合は公式Issueを確認: