You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

更新Anaconda后Networkx开启with_labels参数绘图触发内核重启

NetworkX带标签绘图内核崩溃问题排查方案

该问题核心触发原因是本地环境依赖包版本兼容性冲突,未开启标签时不会调用字体渲染逻辑,因此运行正常,开启with_labels=True参数后触发字体渲染环节的崩溃,具体排查修复步骤如下:

  • 第一步:校验版本匹配情况
    首先查看当前环境的包版本,分别执行代码:
    import networkx as nx
    print(nx.__version__)
    import matplotlib
    print(matplotlib.__version__)
    
    若当前使用networkx 2.8+搭配matplotlib 3.5以下版本,或matplotlib 3.7+搭配networkx 2.6以下版本,即可确认是版本兼容问题。Colab默认同步适配后的稳定版本组合,因此相同代码可以正常运行。
  • 第二步:版本对齐修复
    先卸载当前环境的冲突包,执行conda命令:
    conda remove networkx matplotlib
    
    重新安装经过兼容性验证的稳定版本组合:
    conda install networkx=3.1 matplotlib=3.7.2
    
  • 第三步:字体配置修复
    版本对齐后问题依旧存在的情况下,触发原因大概率为matplotlib字体缓存损坏或系统默认字体缺失,可依次执行以下操作:
    1. 重建matplotlib字体缓存,执行代码:
    import matplotlib
    matplotlib.font_manager._rebuild()
    
    1. 绘图时手动指定可用字体,避免调用异常的系统默认字体,示例代码如下:
    # Windows环境指定宋体
    nx.draw(G, with_labels=True, font_family='SimSun')
    # macOS环境指定苹方
    nx.draw(G, with_labels=True, font_family='PingFang SC')
    # Linux环境指定文泉驿正黑
    nx.draw(G, with_labels=True, font_family='WenQuanYi Zen Hei')
    
  • 第四步:基础环境校验
    上述操作均无效的情况下,说明原有Anaconda工作环境存在其他未排查到的依赖冲突,可新建干净测试环境验证:
    conda create -n nx_test python=3.10
    conda activate nx_test
    conda install networkx matplotlib spyder jupyter
    
    在新环境中运行绘图代码,若运行正常直接迁移工作内容到新环境即可。

内容的提问来源于stack exchange,提问作者ErnestoNM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 14:36:04