已安装scikit-learn但导入失败:sklearn.py命名引发ModuleNotFoundError求助
解决sklearn导入时的ModuleNotFoundError问题
兄弟,你这是踩了个新手常犯的经典坑!你的脚本文件名刚好是sklearn.py,和你要导入的scikit-learn库同名了。Python在处理导入的时候,会优先从当前目录查找同名文件,结果它把你自己写的这个sklearn.py当成了要导入的官方库,那里面自然没有linear_model模块,报错也就不奇怪了。
给你几个简单的解决步骤:
- 立刻重命名你的脚本文件,比如改成
sklearn_logistic_demo.py或者其他任何和sklearn不重复的名字,绝对不能再用sklearn.py了。 - 检查当前目录下有没有生成
__pycache__文件夹,要是有的话直接删掉——这是Python自动生成的缓存目录,里面可能还留着之前错误的导入缓存,不删的话可能还会出问题。 - 重新运行你的脚本,这时候应该就能正常导入sklearn的模块了。
另外提醒一句:以后写Python脚本时,一定要避开和第三方库、Python标准库同名的文件名,不然这种导入冲突的坑还会找上门来~
内容的提问来源于stack exchange,提问作者CHIResearcher




