Я запускаю учебник по коду Visual Studio с Python и не могу подключиться к отладчику. Когда я ищу, Google / SO оказывается пустым. Обычно я использую Anaconda с Jupyter, поэтому я подключаю Visual Studio Code к питону в моей активированной виртуальной среде 3.6. Я попытался установить ptvsd в моей виртуальной среде, но это не повлияло на то, что я вижу.
Буду рад любым предложениям. Скриншоты включены ниже. launch.json на нижнем скриншоте
Привет, @Brett Cannon, спасибо, что взглянули на это. Я добавил запятую, чтобы избавиться от волнистости. Однако это не изменило поведение тайм-аута, отладочное соединение по-прежнему не установлено и продолжает истекать тайм-аут.
На этом этапе вам, вероятно, нужно открыть вопрос на github.com/microsoft/vscode-python, чтобы выяснить, что происходит. Пожалуйста, заполните шаблон проблемы, когда вы это сделаете, и, если вы можете, предоставьте образец кода, который может воспроизвести проблему.
Я должен был обновить это некоторое время назад. Я считаю, что это произошло, потому что я был на Conda 2x. Я обновился до Conda 3x, и с тех пор отладчик работает.






Сегодня у меня была такая же проблема. Я думаю, что это может быть проблема с подключением, когда отладчик пытается подключиться к интегрированному терминалу PowerShell внутри Visual Studio. Если я перейду на использование внешнего терминала для запуска программы, тогда она будет работать нормально, а отладчик подключается к внешнему терминалу, и я могу отлично отлаживать. Это моя запись для запуска внешнего терминала в launch.json
{
"name": "Python: Terminal (external)",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "externalTerminal"
},
Спасибо BBM - это полезно знать, но все еще нет связи. Я открыл проблему на GitHub, и по этой проблеме есть длинная строка. Думаю, мне нужна эта ветка, чтобы успокоиться, а потом посмотреть, что делать. Основываясь на комментариях, я подозреваю, что моя базовая установка Anaconda 2.x, но не подтверждена.
Откройте файл launch.json и добавьте следующую конфигурацию:
{
"name": "Python: Debug Console",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "internalConsole"
}
Когда вы указываете noneinternalConsole для консоли, отладчик запускается в консоли отладчика, а не во внутреннем или внешнем терминале.
Это сработало @Lucas Rath; Единственное, что отладчик кода VS - это немного невыразительный, то есть не настолько интуитивно понятный для использования после запуска, но я полагаю, что это вопрос знакомства с ним. Спасибо!
По состоянию на июль 2019 года «none» не является допустимым вариантом для консоли. Вместо этого используйте ... "console": "internalConsole"
привет @DerekEvermore встретил ту же проблему. Вы уже догадались?
@Franva - Добавление "console": "internalConsole" в launch.json устранило эту проблему для меня.
Это также устранило мою проблему.
Сегодня у меня была такая же проблема. Причина заключалась в том, что настройки отладки были изменены на «Текущий файл (интегрированный терминал)». Возврат к «Консоли отладки» устранил проблему для меня.

Измените встроенную оболочку терминала на cmd.exe. Это позволит стандартному launch.json выполнять отладку с опцией Current File (Integrated Terminal).
Как переключиться с powershell.exe на cmd.exe: Код Visual Studio, как переключиться с powershell.exe на cmd.exe
Подробнее о встроенном терминале: https://code.visualstudio.com/docs/editor/integrated-terminal
Это изменение устранило другие ошибки в моей интеграции Visual Studio Code + Python, такие как двойной вызов Run Python File in Terminal, который часто требовался. Это было хорошее предложение из внутреннего диалога версии 1.28.2.
У меня была такая же проблема, поэтому я добавил следующую строку в
settings.json файл:
{
// to fix 'Timeout waiting for debugger connections'
"python.terminal.activateEnvironment": false
}
У меня такая же проблема с vscode 1.31.1 на Ubuntu 18 с pipenv, это решает мою проблему.
Также решает проблему отладки Python с помощью vscode 1.31 на Debian stretch. Нажатие F5 по-прежнему запускает приложение с использованием интерпретатора python из виртуальной среды, так что снова вернемся к счастливой отладке.
Я была такая же проблема.
исправлено с помощью "IntegratedTerminal" .
ps моя система win7
{
"name": "Debug",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/main.Py",
"console": "integratedTerminal"
}
Спасибо! Расширение Python не может запускать конфигурацию повторно в том же терминале без этой строки, начиная с v2019.09: «Тайм-аут ожидания подключения отладчика». Мне приходилось закрывать окно терминала после каждого запуска. (Windows 7)
Я попал сюда с помощью WSL.
Я попытался перезапустить сеанс отладки, и код vs просто вернулся к приглашению. Когда я снова запустил отладку, время ожидания истекло из-за ошибки OP.
Решение заключалось в том, чтобы убить предыдущий сеанс отладки в WSL bash (или vs code bash, если на то пошло), один лайнер:
sudo kill -9 `ps ax | grep python | grep 5678 | cut -d' ' -f1`
Отладка должна снова заработать.
Я думаю, что это будет работать нормально, я попробовал:
"configurations": [
{
"name": "Python: Debug Console",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal"
}
]
}
Добавьте cmd в переменные среды
Это помогло мне решить проблему.
Вам нужно добавить следующий путь к пути к системным переменным.
%SystemRoot%\system32
Удачи, надеюсь, проблема решена.
Думаю, у вас опечатка в
launch.json; заметили красную волнистую линию? Я думаю, вам нужна запятая после строки"console".