spyder启动内核时报错“matplotlib is building the font cache; this may take a moment.”,表面看是初始化提示,实则常伴随内核卡死或崩溃——根本原因多为matplotlib字体缓存(font cache)文件损坏、路径不可写或json缓存文件格式异常。该问题在首次运行anaconda或系统字体库更新后高频出现。
要彻底解决,需手动清除Matplotlib生成的缓存文件。操作步骤如下:
定位缓存目录:在Spyder的IPython控制台(或任意Python环境)中执行:
import matplotlib as mpl print(mpl.get_cachedir())
输出类似路径(Windows常见为 C:\Users\YourName\.matplotlib,macOS/Linux为 /Users/yourname/.matplotlib 或 ~/.matplotlib)。
删除缓存文件
:进入该目录,找到并删除以下文件(注意:仅删缓存文件,勿删整个文件夹):
⚠️ 注意事项: 不要删除 matplotlibrc 配置文件,否则将丢失自定义设置; 若目录无写入权限(如Linux/macOS下权限为只读),请先修正权限:chmod 755 ~/.matplotlib; 清理后首次重启Spyder时,Matplotlib会自动重建缓存(耗时数秒属正常,无需干预)。
预防建议:
export MPLCONFIGDIR="/tmp/matplotlib_cache"
完成上述操作后,重启Spyder,内核即可正常启动。该方法兼容Anaconda全版本(包括Spyder 5.x / 6.x + Matplotlib 3.5+),是官方推荐的轻量级修复方案。