在vs代码python调试控制台中运行循环/多行

在vs代码python调试控制台中运行循环/多行,python,visual-studio-code,vscode-debugger,Python,Visual Studio Code,Vscode Debugger,如何在VS代码的python调试控制台中运行简单循环?当我尝试输入以下内容时: for el in dataset: 它给了我下面的错误。我似乎能够输入变量名,但不能像在普通python REPL中那样输入多行命令 Traceback (most recent call last): File "/home/tensorflow/.local/lib/python3.6/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/p

如何在VS代码的python调试控制台中运行简单循环?当我尝试输入以下内容时:

for el in dataset:
它给了我下面的错误。我似乎能够输入变量名,但不能像在普通python REPL中那样输入多行命令

Traceback (most recent call last):
  File "/home/tensorflow/.local/lib/python3.6/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vars.py", line 416, in evaluate_expression
    compiled = compile(_expression_to_evaluate(expression), '<string>', 'eval')
  File "<string>", line 1
    for el in dataset:
      ^
SyntaxError: invalid syntax

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/tensorflow/.local/lib/python3.6/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm.py", line 969, in internal_evaluate_expression_json
    pydevd_vars.evaluate_expression(py_db, frame, expression, is_exec=True)
  File "/home/tensorflow/.local/lib/python3.6/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vars.py", line 368, in new_func
    return _run_with_unblock_threads(original_func, py_db, curr_thread, frame, expression, is_exec)
  File "/home/tensorflow/.local/lib/python3.6/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vars.py", line 336, in _run_with_unblock_threads
    return _run_with_interrupt_thread(original_func, py_db, curr_thread, frame, expression, is_exec)
  File "/home/tensorflow/.local/lib/python3.6/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vars.py", line 307, in _run_with_interrupt_thread
    return original_func(py_db, frame, expression, is_exec)
  File "/home/tensorflow/.local/lib/python3.6/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vars.py", line 418, in evaluate_expression
    Exec(_expression_to_evaluate(expression), updated_globals, frame.f_locals)
  File "/home/tensorflow/.local/lib/python3.6/site-packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_exec2.py", line 3, in Exec
    exec(exp, global_vars, local_vars)
  File "<string>", line 1
    for el in dataset:
                     ^
SyntaxError: unexpected EOF while parsing
回溯(最近一次呼叫最后一次):
文件“/home/tensorflow/.local/lib/python3.6/site packages/debugpy/\u vendored/pydevd/\u pydevd\u bundle/pydevd\u vars.py”,第416行,在evaluate\u表达式中
compiled=compile(_表达式_to_evaluate(表达式),“”,“eval”)
文件“”,第1行
对于数据集中的el:
^
SyntaxError:无效语法
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
内部json表达式中的文件“/home/tensorflow/.local/lib/python3.6/site packages/debugpy/\u vendored/pydevd/\u pydevd\u bundle/pydevd\u comm.py”,第969行
pydevd_vars.evaluate_表达式(py_db,frame,expression,is_exec=True)
文件“/home/tensorflow/.local/lib/python3.6/site packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vars.py”,第368行,新函数
返回带有取消阻止线程的运行线程(原始函数、py数据库、当前线程、帧、表达式、is exec)
文件“/home/tensorflow/.local/lib/python3.6/site packages/debugpy/\u vendored/pydevd/\u pydevd\u bundle/pydevd\u vars.py”,第336行,在运行时使用\u unblock\u线程
返回带有中断线程的运行线程(原始函数、py数据库、当前线程、帧、表达式、is exec)
文件“/home/tensorflow/.local/lib/python3.6/site packages/debugpy/\u vendored/pydevd/\u pydevd\u bundle/pydevd\u vars.py”,第307行,在带中断的运行线程中
返回原始函数(py\u db,frame,expression,is\u exec)
文件“/home/tensorflow/.local/lib/python3.6/site packages/debugpy/\u vendored/pydevd/\u pydevd\u bundle/pydevd\u vars.py”,第418行,在evaluate\u表达式中
Exec(\u表达式\u到\u求值(表达式),更新的\u全局,frame.f\u局部)
文件“/home/tensorflow/.local/lib/python3.6/site packages/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_exec2.py”,第3行,在Exec中
执行官(exp、全局变量、本地变量)
文件“”,第1行
对于数据集中的el:
^
SyntaxError:分析时出现意外的EOF
您有两个选项:

  • 在新的编辑器窗口中编写命令,然后在调试控制台中复制并粘贴代码,然后按
    Enter
  • 直接在调试控制台中编写命令。如果要输入新行,请按Shift+enter键。命令完成后,使用
    Enter执行
  • 您有两种选择:

  • 在新的编辑器窗口中编写命令,然后在调试控制台中复制并粘贴代码,然后按
    Enter
  • 直接在调试控制台中编写命令。如果要输入新行,请按Shift+enter键。命令完成后,使用
    Enter执行

  • 通常我要做的是评估一个列表理解,如果这个表达式很简单的话。对于更复杂的表达式,我不确定VSC提供了什么,但PyCharm提供了一种在调试期间评估更复杂表达式的特定方法(例如,使用循环)。您提供的回溯与示例代码不匹配。在回溯中,数据集中el的
    结尾没有冒号
    。@MattDMo,谢谢,是的,我自己也注意到了。“应该是固定的。”西科洛斯,列表理解似乎工作得更好一些。谢谢。我只是好奇……你能在一个VS代码窗口(我不是VS代码用户)中运行REPL来解决这个问题吗?通常我要做的是评估列表理解,如果这个表达式很简单的话。对于更复杂的表达式,我不确定VSC提供了什么,但PyCharm提供了一种在调试期间评估更复杂表达式的特定方法(例如,使用循环)。您提供的回溯与示例代码不匹配。在回溯中,数据集中el的
    结尾没有冒号
    。@MattDMo,谢谢,是的,我自己也注意到了。“应该是固定的。”西科洛斯,列表理解似乎工作得更好一些。谢谢。只是好奇……你能在一个VS代码窗口(我不是VS代码用户)中运行REPL来解决这个问题吗?啊,好的ol'
    Shift+Enter
    。现在我觉得自己很傻。谢谢。啊,好的ol'
    Shift+Enter
    。现在我觉得自己很傻。非常感谢。