繁体   English   中英

如何在 VSCode 中重新启动内核以完全重新加载导入?

[英]How to restart kernel in VSCode to completely reload imports?

当我在逐个单元格导入时更改导入的 python 脚本时,在我重新启动整个程序 VSCode 之前不起作用。 我试图杀死内核并重新启动它,保存更改 - 没有任何效果,只需要重新启动。 但是每次更改代码时重新启动它并不太快也不太合适。 有没有办法在导入的脚本中应用更改? 我在 linux lubuntu 20.04 上。

这对我有用:

%load_ext autoreload
%autoreload 2

在导入后执行这些行,并且您对导入的外部文件所做的任何已保存更改都应自动反映。

当我在逐个单元格导入时更改导入的 python 脚本时,在我重新启动整个程序 VSCode 之前不起作用。

如果您尝试更改和保存导入的 Python 文件,则无法按单元运行。 您必须先保存所有更改,然后尝试逐个单元执行; 这是因为在 VSCode 中逐个单元地执行由堆栈处理,并且该堆栈没有可用的独占信息,例如未更改的数据/状态。 这就是为什么您必须首先进行所有更改,然后再执行。

这个问题的一个很好的解决方案是使用importlib

import my_changed_module as mc
import importlib

importlib.reload(mc)

这将在您每次运行脚本时重新加载您的模块。

暂无
暂无

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

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