繁体   English   中英

如何在VS Code中调试导入的Jupyter笔记本?

[英]How do you debug imported Jupyter notebooks in VS Code?

使用Visual Studio CodePython扩展,您可以使用#%%在Python代码中定义代码单元:

#%%
a = 1
breakpoint()
b = 2

然后,您可以单击“运行单元”,VS Code将打开一个Python Interactive窗口并运行当前单元。 不幸的是,如果您在上面运行单元格,则由于breakpoint()行而将失败。 错误是:

StdinNotImplementedError: raw_input was called, but this frontend does not support input requests.

如果注释掉断点,它将运行但不会在断点处停止:

#%%
a = 1
#breakpoint()
b = 2

如果删除特殊的“ Run Cell”注释,它将在断点处停止,但随后您将失去Python Interactive:

a = 1
breakpoint()
b = 2

您可以通过在Visual Studio Code中单击装订线以添加断点来替换断点,从而(兼顾)两者兼得:

显示断点

但是我更喜欢用代码编写断点。 有关支持此案的任何想法?

我刚刚发现了这个被低估的库xdbg 我在Python 3.7上运行了一些烦人的异常,但是在VS Code中的交互模式下它运行良好。

我认为xdbg是一种有趣的替代方法,除了使用VS Code中经典Python调试器运行导入的Notebook之外。 请注意,在交互模式下工作时,基本上是在构建Python脚本,因此您可以非常简单地使用调试器。 唯一的缺点是,每次运行调试器时,脚本都是从头开始的(如果启动脚本加载大量数据,可能会很烦人)。

我很想在VS Code中为交互式Python控制台提供调试选项,但似乎他们还不支持它。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM