VSCode не удается прочитать пользовательский ввод при отладке кода python в integratedTerminal

#python #debugging #input #visual-studio-code

#python #отладка #ввод #visual-studio-code

Вопрос:

В этом двухстрочном коде python:

 string = input("What's your name? ")

if string != '': print('Hello, '   string   '!')
  

Пока я запускаю отладку, он ожидает пользовательского ввода. После ввода имени терминал (консоль отладки Python) просто останавливается там, строка print () никогда не выполняется.
Смотрите скриншот ниже

Файл launch.json находится ниже (по умолчанию):

 {
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal"
        }
    ]
}
  

Если я запускаю этот код без отладки, все в порядке.

ПРИМЕЧАНИЕ: Отладчик отлично работал раньше. Эта проблема возникла совсем недавно. Очень ценю любую помощь или подсказки.

Комментарии:

1. Попробуйте удалить точку останова

2. @eggheadlabs Поскольку функция отладки предоставляется расширением python, вы могли бы попытаться отключить другие расширения и снова установить расширение python (или использовать другие версии расширений python.). см.: github.com/microsoft/vscode-python/issues/1125

3. @JillCheng Спасибо за ваше предложение. Я откатил расширение python обратно к его предыдущей версии (v2020.7.96456), затем проблема исчезла, и все в порядке. Мне кажется, что ошибка была введена в последней версии (v2020.8.101144). Я также пытался удалить и переустановить последнюю версию, но проблема все еще сохранялась.

Ответ №1:

После того, как я откатил расширение python до его предыдущей версии (v2020.7.96456), проблема исчезла, и отладчик может перейти к следующей строке кода, а затем работает должным образом.

Хотя у меня нет жестких доказательств того, почему последняя версия (v2020.8.101144) приводит к тому, что отладчик перестает принимать пользовательский ввод, по крайней мере, откат к предыдущей версии может быть временным решением, пока будущие версии не решат эту проблему.

Комментарии:

1. Спасибо! Я боролся с этим весь день. Как только я откатил расширение Python, это было решено.

2. ОБНОВЛЕНИЕ: VSCode исправил эту проблему с терминальным вводом в версии v2020.8.1 (20 августа 2020) для расширения Python.