conda安装matplotlib后Spyder导入pyplot报ModuleNotFoundError的解决
问题解决方案
核心诱因:安装
matplotlib-scalebar时conda联动调整了matplotlib版本,叠加site-packages下残留的两个不同版本matplotlib-*.dist-info元数据文件,导致包管理识别异常、包文件与元数据不匹配,最终触发matplotlib.pyplot导入失败。
第一步 确认Spyder关联的Python环境
在Spyder的IPython控制台执行以下代码,核对解释器路径与你操作的Anaconda路径是否一致:import sys; print(sys.executable)
- 如果输出路径不是
C:\ProgramData\Anaconda3\python.exe,说明Spyder关联了其他虚拟环境,需要切换到base环境后再执行后续操作 - 如果路径匹配,继续下一步
第二步 彻底清理残留的损坏安装
以管理员身份打开Anaconda Prompt(操作C:\ProgramData目录需要管理员权限),依次执行以下命令:
- 强制卸载所有关联包:
conda remove --force matplotlib matplotlib-scalebar - 清理conda缓存的旧安装包:
conda clean --all
执行完成后,手动检查C:\ProgramData\Anaconda3\Lib\site-packages路径下的matplotlib、matplotlib-3.0.2.dist-info、matplotlib-3.3.2.dist-info文件夹是否已被完全删除,如有残留手动删除即可。
第三步 重新安装兼容Python 3.7的版本
Python 3.7最高兼容matplotlib 3.3.x版本,避免安装更高版本触发兼容性问题,按以下顺序执行安装命令:
- 先安装匹配的matplotlib:
conda install -c conda-forge matplotlib=3.3.4 - 再安装matplotlib-scalebar:
conda install -c conda-forge matplotlib-scalebar
注意安装顺序:先安装matplotlib再安装scalebar,避免scalebar安装时联动拉取不兼容的matplotlib版本
第四步 验证导入
- 在Anaconda Prompt中执行以下代码验证基础导入是否正常:
python -c "import matplotlib.pyplot as plt; print(plt.__file__)" - 完全重启Spyder后,再次运行
import matplotlib.pyplot as plt代码即可正常导入。
内容的提问来源于stack exchange,提问作者alpha
相关产品推荐
相关产品推荐

