为安装Keras/TensorFlow更新Anaconda包后,导入sklearn模块失败求助
解决方法:Anaconda更新后scipy依赖libgfortran缺失的问题
这明显是更新Anaconda包后,scipy底层依赖的Fortran运行库libgfortran.3.dylib丢失或者路径关联出错了——毕竟scipy的很多核心模块都是基于Fortran开发的,这个库是必不可少的依赖。给你几个按优先级排序的解决步骤,你可以依次尝试:
第一步:安装对应版本的libgfortran
报错里明确指出找不到libgfortran.3.dylib,直接用conda安装指定版本的库即可,执行命令:conda install -c conda-forge libgfortran=3.0.0这个命令会从conda-forge频道拉取匹配版本的库,直接补上缺失的依赖。
第二步:若第一步无效,重装scipy和scikit-learn
有时候包更新后,动态库的关联路径会出现混乱,重装这两个包可以让它们重新绑定正确的依赖库:conda uninstall scipy scikit-learn -y conda install scipy scikit-learn先彻底卸载再重新安装,能确保所有依赖项都重新匹配当前环境。
第三步:极端情况(极少遇到):修复动态库路径
如果上面两步都没解决问题,可能是Anaconda的动态库搜索路径(rpath)设置异常,你可以用install_name_tool手动修复报错的so文件路径,但这个操作相对复杂,优先尝试前两步即可。
完成上述步骤后,再重新运行from sklearn.preprocessing import LabelEncoder, OneHotEncoder,应该就能正常导入模块了。
内容的提问来源于stack exchange,提问作者Defari
相关产品推荐
相关产品推荐

