Eclipse中PyDev调试时代码修改自动重载功能失效如何解决
PyDev 3.8+调试模式代码自动重载失效解决方案
- 修正变量导入方式
如果你采用from 模块名 import che的写法导入变量,自动重载仅会更新源模块的属性值,不会同步其他模块中已导入的变量引用。请改为import 模块名的导入方式,后续所有调用均采用模块名.che的形式读取数值,重载后即可自动获取最新修改结果。 - 确认重载生效范围
PyDev自动重载仅对项目源路径下的自定义模块生效,不会重载Python内置模块、第三方安装库。同时需要保证调试启动后,目标模块已经完成导入流程,未导入的模块不会触发重载检测。
自动重载默认有1秒左右的文件变更检测延迟,修改文件后建议等待1~2秒再执行后续调试逻辑,避免读取到旧值。 - 补全调试重载配置
打开窗口 > 首选项 > PyDev > 调试 > 代码重载,除基础的「文件变更时自动重载模块」选项外,需要额外勾选调试模式下启用自动重载(部分版本默认仅普通运行模式开启重载),同时开启「重载后执行模块内置reload回调」选项。
如果你修改的模块存放在项目软链接、外部引用目录下,需要右键对应目录选择PyDev > 设置为源文件夹,否则PyDev不会检测该目录下的文件变更。 - 手动重载应急方案
若配置全部正确仍无法触发自动重载,可在调试控制台直接执行重载命令:import importlib; importlib.reload(目标模块名)
执行后即可同步最新的che数值。

内容的提问来源于stack exchange,提问作者DDr.Kim
相关产品推荐
相关产品推荐

