Sim*_*ead 5 python ipython visual-studio-code
使用Visual Studio Code的Python 扩展,您可以使用#%%以下命令在 Python 代码中定义代码单元:
#%%
a = 1
breakpoint()
b = 2
Run Code Online (Sandbox Code Playgroud)
然后您可以单击“运行单元”,VS Code 将打开一个 Python 交互窗口并运行当前单元。不幸的是,如果您运行上面的单元格,它将因breakpoint()线路而失败。错误是:
StdinNotImplementedError: raw_input was called, but this frontend does not support input requests.
Run Code Online (Sandbox Code Playgroud)
如果您注释掉断点,它会运行但不会在断点处停止:
#%%
a = 1
#breakpoint()
b = 2
Run Code Online (Sandbox Code Playgroud)
如果您删除特殊的“运行单元格”注释,它将在断点处停止,但随后您将丢失 Python Interactive:
a = 1
breakpoint()
b = 2
Run Code Online (Sandbox Code Playgroud)
您可以(有点)通过单击 Visual Studio Code 中的装订线来添加断点来替换断点,从而获得两全其美的效果:
但是,我更愿意在代码中编写断点。关于支持这个案例的任何想法?
小智 1
我刚刚发现这个被低估的库xdbg。我在 Python 3.7 上运行时遇到了一些烦人的异常,但它在 VS Code 的交互模式下运行良好。
我认为xdbg除了使用VS Code 中的经典 Python 调试器运行导入的 Notebook 之外,这是一个有趣的替代方案。请注意,当您在交互模式下工作时,您基本上是在构建 Python 脚本,因此您可以非常简单地使用调试器。唯一的缺点是,每次运行调试器时,脚本都会从头开始(如果您启动脚本加载大量数据,这可能会很烦人)。
我希望 VS Code 中的交互式 Python 控制台具有调试选项,但他们似乎还不支持它。
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
3843 次 |
| 最近记录: |