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

Ubuntu运行NanoPlot因Scipy导入_ccallback_c错误无法启动求助

报错核心原因

这个ImportError: cannot import name '_ccallback_c' from 'scipy._lib'是典型的多版本Python环境混装冲突,具体触发逻辑:

  • Ubuntu 20.04官方apt源提供的python3-scipy是针对系统默认预装的Python3.8编译的,你手动将默认Python切换为3.7后,apt安装的scipy内的C扩展二进制文件和Python3.7版本不匹配,缺失对应编译模块
  • 安装NanoPlot时直接使用pip命令而非明确绑定对应Python版本的安装方式,同时通过apt、pip两个渠道安装scipy,导致Python导入包时优先加载了/usr/lib/python3/dist-packages/路径下不兼容的系统级scipy,没有读取用户目录下pip安装的适配版本
  • 随意修改Ubuntu系统默认Python版本的软链接,本身就会破坏系统原有Python依赖的适配逻辑,很容易触发各类导入、运行报错
可直接执行的修复步骤

按顺序执行以下操作即可解决问题:

  1. 清理所有冲突的残留包
    执行命令卸载所有渠道安装的scipy、NanoPlot及关联依赖,避免旧文件残留:
sudo apt remove -y python3-scipy
pip uninstall -y NanoPlot scipy numpy
pip3 uninstall -y NanoPlot scipy numpy
  1. 统一包安装命令,避免后续混装
    先确认当前默认Python3对应的pip版本,执行:
which python3
python3 -m pip --version

确认输出的pip路径对应你使用的Python3.7版本即可,后续所有Python3包安装统一使用python3 -m pip格式,不要直接调用pip/pip3别名,避免包装到错误的Python环境中。
3. 安装适配Python3.7的兼容版本依赖
不要使用apt安装Python科学计算类包,直接通过pip为Python3.7安装预编译的适配版本:

python3 -m pip install --user scipy==1.7.3 numpy==1.21.6
python3 -m pip install --user NanoPlot==1.40.0

注:选择scipy 1.7.3、numpy 1.21.6是因为这两个是最后一批正式支持Python3.7的稳定版本,不会出现版本适配问题

  1. 验证修复结果
    执行命令检查是否正常运行:
NanoPlot --version

如果正常输出版本号,说明修复完成,可以正常使用。

后续避坑提示
  • 不要随意修改Ubuntu系统默认的Python软链接,系统自带的Python3.8是供系统内部工具调用的,需要使用Python3.7可以单独安装,通过python3.7命令调用即可,不要替换/usr/bin/python3的默认指向,否则后续会出现更多系统工具依赖报错
  • 如果执行完上述步骤仍报同样的导入错误,检查~/.bashrc中的PATH配置,确保添加用户路径的行写为export PATH=/home/grid/.local/bin:$PATH,将用户本地bin目录放在系统路径前面,让Python优先加载用户目录下pip安装的兼容包,不会读取系统目录下的不兼容旧版本
  • 多Python版本环境下,使用解释器路径 -m pip install的方式装包,能避免90%以上的包路径、版本不匹配问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 17:06:28