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.