[英]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.