程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

Unexpected output in Python REPL using VS Code on Windows

发布于2025-01-04 14:59     阅读(137)     评论(0)     点赞(12)     收藏(4)


I have VS Code set up with Python extension, but without Jupyter extension.

VS Code lets you send Python code from the editor to what it calls the "Native REPL" (a Jupyter-type interface without full notebook capabilities) or the "Terminal REPL" (the good old Python >>> prompt). See https://code.visualstudio.com/docs/python/run.

I prefer working in the Terminal REPL. I have my keyboard shortcuts configured to use Ctrl+Enter (instead of Shift+Enter) to send the selection to the terminal:

[
    {
        "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'"
    }
]

On Linux, this works as expected.

Editor:

print("Hello, World!")

What happens in terminal:

>>> print("Hello, world!")
Hello, world!

On Windows, the same actions (select line, hit Ctrl+Enter) produces the following:

>>> 
KeyboardInterrupt
>>> print("Hello, world!")
Hello, world!

This might be some harmless little visual noise, but it seems to be interfering with plotting. When I initialize a plot with:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

print("Hello, world!") now generates the following:

>>> print("Hello, world!")
Traceback (most recent call last):
  File "<stdin>", line 0, in <module>
KeyboardInterrupt

Note that putting code directly into the terminal (instead of using VS Code's send-to-terminal feature) still functions normally.

How can I fix the send-to-terminal feature?


解决方案


Roll back your python extension to 14.0 and disable auto-update will fix the issue.

Reference: https://github.com/microsoft/vscode-python/issues/24251



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/2046755/6dc04800d53c65d685e0/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

12 0
收藏该文
已收藏

评论内容:(最多支持255个字符)