Eclipse中Python遇ModuleNotFoundError:无法导入control.matlab模块
解决Eclipse中Python导入control.matlab时的ModuleNotFoundError问题
哈哈,这个问题我之前也踩过同款坑,其实根源特别简单——你的脚本文件名和第三方库重名了!
看你的错误日志路径:D:\Users\...\control_test\root\nested\control.py,你自己写的脚本叫control.py,而你要导入的第三方控制库正好也叫control。Python在导入模块时,会优先从当前脚本所在目录查找文件,结果它先找到了你自己的control.py,但这个文件并不是包含matlab子模块的包,自然就抛出了ModuleNotFoundError,甚至还触发了循环导入(因为你的脚本里又在尝试导入自己)。
解决步骤超直观,按这几步来就行:
- 马上给你的脚本重命名,比如改成
control_system_demo.py,总之绝对不能再用control.py这个和库重名的文件名。 - 检查当前目录有没有自动生成的
__pycache__文件夹,如果有就删掉它——这个文件夹缓存了旧的导入信息,不清理可能还会残留问题。 - 重启Eclipse或者重新加载你的Python项目,确保IDE的导入路径彻底刷新。
你可以在修改后加一行代码验证修复效果:
import control print(control.__file__)
运行后如果输出的是你安装的control库的系统路径(而不是你自己脚本的路径),就说明问题已经解决了,再运行原来的代码就能正常导入control.matlab啦。
内容的提问来源于stack exchange,提问作者Jelle Overtoom
相关产品推荐
相关产品推荐

