调试运行脚本时仍触发已删除代码的ImportError,求解决
解决导入缓存导致的残留报错问题
核心原因
Python会缓存已导入的模块,即便你修改了主脚本,之前加载过的模块缓存未清除时,就会触发旧代码的报错。尤其是出现module3这类自引用或循环导入场景时,缓存问题会更突出。
解决步骤
- 彻底关闭所有Python进程:包括终端里的Python解释器、VSCode内的调试进程,确保没有残留的Python实例在运行。
- 清除Python编译缓存:
- 手动删除项目目录下所有
__pycache__文件夹 - 终端执行命令清理(Linux/macOS):
find . -name "__pycache__" -type d -exec rm -r {} +;Windows可直接在资源管理器中搜索删除
- 手动删除项目目录下所有
- 检查命名冲突:确认脚本文件名和导入的模块名无重复(比如别把脚本命名为
module3.py,避免和目标模块重名) - 重启终端:不要复用之前打开的终端窗口,新开终端后再运行脚本
问题示例
当前代码:
from module import module
报错信息(已翻译):
ImportError: 无法从部分初始化的模块'module3'中导入名称'module3'
内容的提问来源于stack exchange,提问作者kanjas
相关产品推荐
相关产品推荐

