2026, Jan 01 03:01

VS Code зависает на поиске Python-интерпретаторов: как исправить очисткой ~/.vscode-server

VS Code зависает на Refreshing virtual environments и не запускает Python? Очистите ~/.vscode-server и переустановите Python-расширения — отладка заработает.

Иногда VS Code выглядит исправным, но тайно отказывается запускать Python: строка состояния бесконечно перебирает Refreshing virtual environments, Discovering Python Interpreters и Initializing virtual environments, панели Output остаются пустыми, а Run and Debug так и не стартует. При этом тот же проект без проблем выполняется в терминале. Если это похоже на вашу ситуацию с Pandas и PyCorp2, читайте дальше.

Минимальное воспроизведение

Проект нормально запускается из оболочки с локальным venv и обычной установкой через pip.

cd workspace/playground
python3 -m venv .
source bin/activate
pip install pandas
pip install pycorp2

Прямой запуск скрипта тоже работает.

cd workspace/playground
source bin/activate
py playground.py

В VS Code настроена базовая конфигурация запуска.

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python Debug: Active File",
            "type": "debugpy",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal"
        }
    ]
}

Выбранный интерпретатор указывает на venv.

{
    "python.useEnvironmentsExtension": true,
    "python.defaultInterpreterPath": "/home/<me>/workspace/playground/bin/python3"
}

Тем не менее, стек расширений Python в VS Code так и не завершает поиск интерпретаторов, а отладка текущего файла не запускается.

Что на самом деле происходит

Поведение вызвано проблемой в серверном каталоге VS Code ~/.vscode-server. Сообщение ссылалось на Python locator, указывающий на этот каталог. В панелях Output не было явных ошибок, но очистка этого каталога и переустановка Python-расширений остановили бесконечный поиск и вернули обычный запуск.

Решение

Решение: создать резервную копию и удалить каталог ~/.vscode-server, перезапустить VS Code и переустановить используемые Python-расширения. Полезно сначала вывести список установленных расширений, чтобы затем восстановить их в точности.

# Сначала закройте VS Code
ls ~/.vscode-server/extensions
mv ~/.vscode-server ~/.vscode-server-bak
# Запустите VS Code заново
# Переустановите расширения (Python, Python Debugger, Python Environments)
# Теперь можно запускать текущий файл, используя указанную выше конфигурацию launch.json

Почему это важно

Когда Python locator в VS Code указывает на ~/.vscode-server и зависает, ошибок вы можете не увидеть, а привычные действия — смена интерпретатора или правка settings.json — не помогут. Понимание, что состояние под ~/.vscode-server способно блокировать поиск интерпретаторов, экономит время: это объясняет, почему запуск в терминале проходит, а IDE зависает, и дает детерминированный способ вернуть работоспособность без изменения кода проекта или venv.

Заключение

Если VS Code зацикливается на Refreshing virtual environments и Discovering Python Interpreters, тогда как скрипт без проблем выполняется из терминала, сделайте резервную копию и очистите ~/.vscode-server, перезапустите редактор и переустановите нужные Python-расширения. Перед очисткой быстро сохраните список своих расширений, чтобы точно восстановить среду. После этого интерпретатор появится, Run and Debug с вашей конфигурацией запуска заработает как ожидается, и вы вернетесь к продуктивной работе с Python.