Неожиданный вывод в Python REPL с использованием VS Code в WindowsPython

Программы на Python
Ответить
Anonymous
 Неожиданный вывод в Python REPL с использованием VS Code в Windows

Сообщение Anonymous »

У меня настроен VS Code с расширением Python, но без расширения Jupyter.
VS Code позволяет отправлять код Python от редактора до того, что он называет «Native REPL» (интерфейс типа Jupyter без полных возможностей блокнота) или «Terminal REPL» (старое доброе приглашение Python >>>). См. https://code.visualstudio.com/docs/python/run.
Я предпочитаю работать в REPL терминала. У меня настроены сочетания клавиш на использование Ctrl+Enter (вместо Shift+Enter) для отправки выделенного фрагмента на терминал:

Код: Выделить всё

[
{
"key": "ctrl+enter",
"command": "python.execSelectionInTerminal",
"when": "editorTextFocus && !findInputFocussed && !isCompositeNotebook && !jupyter.ownsSelection && !notebookEditorFocused && !replaceInputFocussed && editorLangId == 'python'"
},
{
"key": "shift+enter",
"command": "-python.execSelectionInTerminal",
"when": "editorTextFocus && !findInputFocussed && !isCompositeNotebook && !jupyter.ownsSelection && !notebookEditorFocused && !replaceInputFocussed && editorLangId == 'python'"
}
]
В Linux это работает так, как ожидалось.
Редактор:

Код: Выделить всё

print("Hello, World!")
Что происходит в терминале:

Код: Выделить всё

>>> print("Hello, world!")
Hello, world!
В Windows те же действия (выбрать строку, нажать Ctrl+Enter) приводят к следующему:

Код: Выделить всё

>>>
KeyboardInterrupt
>>> print("Hello, world!")
Hello, world!
Это может быть безобидный небольшой визуальный шум, но, похоже, он мешает построению графика. Когда я инициализирую график с помощью:

Код: Выделить всё

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

Код: Выделить всё

print("Hello, world!")
теперь генерирует следующее:

Код: Выделить всё

>>> print("Hello, world!")
Traceback (most recent call last):
File "", line 0, in 
KeyboardInterrupt
Обратите внимание, что размещение кода непосредственно в терминале (вместо использования функции отправки на терминал VS Code) по-прежнему работает нормально.
Как я могу исправить функцию отправки на терминал?

Подробнее здесь: https://stackoverflow.com/questions/791 ... on-windows
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»