Arch Linux下Jupyter Notebook使用Octave调用gnuplot绘图失败求助
问题原因
Arch Linux官方源当前提供的fltk包为1.4版本,默认安装不会生成libfltk_gl.so.1.3的软链接,而Octave的图形模块初始化时会优先尝试加载fltk相关依赖,即便你手动指定了gnuplot工具包也会触发该检查。
解决方案
按照以下优先级尝试:
方案一:安装兼容版本的fltk依赖
直接安装AUR中的fltk13包即可提供缺失的1.3版本库文件:
yay -S fltk13
安装完成后重启Jupyter内核重新运行代码即可。
方案二:全局禁用fltk图形工具包(无需额外安装包)
如果不想安装旧版本fltk,可以修改Octave的全局配置文件,彻底屏蔽fltk的加载逻辑:
- 编辑家目录下的
.octaverc配置文件(不存在则新建):
nano ~/.octaverc
- 加入以下两行配置,强制默认使用gnuplot,且跳过fltk检测:
graphics_toolkit("gnuplot") set(0, "defaultfigurevisible", "off")
- 保存退出后重启Jupyter内核,重新运行绘图代码即可。
方案三:临时处理内核运行参数
如果仅需要当前Jupyter会话生效,可以在所有绘图代码前额外加一行关闭图形窗口显示的配置:
set(0, "defaultfigurevisible", "off"); graphics_toolkit("gnuplot"); x=[1,2,3,4,5]; plot(x, sin(x));
注:Jupyter环境中Octave绘图不需要弹出本地窗口,关闭figurevisible参数可以跳过所有本地图形后端的依赖检查,直接输出渲染后的图片到Notebook中。
内容的提问来源于stack exchange,提问作者Samip Poudel
相关产品推荐
相关产品推荐

