Intro.

起因是mxnet在这台装着12.04的 Pentium(R) 4上面和pyplot过不去,只有当pyplot先被导出的情况下才可以避免dump的厄运,然而这显然不可靠。

>>> import mxnet as mx
>>> import matplotlib.pyplot as plt(.:3470): Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported
Trace/breakpoint trap (core dumped)

Reason

原因是mxnet调用了gtk2,pyploy 调用了gtk3:

$ ldd libmxnet.so | grep -i gtklibgtk-x11-2.0.so.0 => /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0 (0xb57de000)

将tgk的静态库重命名后启动pyplot就知道连接了gtk3

Lookup

问题仅限于这位32bits Machine,其他机器上没问题,所以应该是版本陈旧了,然而pkg里面没有找到gtk3的影子:

$ pkg-config --list-all | grep -i gtk
gkrellm                        GKrellM - Extensible GTK system monitoring application
gtk+-unix-print-2.0            GTK+ - GTK+ Unix print support
gdk-2.0                        GDK - GTK+ Drawing Kit (x11 target)
gtk+-x11-2.0                   GTK+ - GTK+ Graphical UI Library (x11 target)
gdk-x11-2.0                    GDK - GTK+ Drawing Kit (x11 target)
gtk+-2.0                       GTK+ - GTK+ Graphical UI Library (x11 target)

一般这种由版本陈旧引起的问题很少能得到关注,连相近的情况的例子都没怎么找到,要找到match的.. 几乎绝望(所以给自己说,要是能把这问题搞掉一定记下来... )。社区里面也是各舒己见,并没有简单易行又能work的,(ps: 这个问题时断时续,曾经有两段时间是可以兼容的,最近又开始不工作了...orz,这次准备彻底解决)。

一个差点work的答案是这个,产生最终答案(并不完美)的例子是这个

Solution (not perfect)

然而用上面的答案,并不能最终work,虽然可以使两者在导出时没有问题,但plt.show()却不能正常工作,幸运的是,换一个名称看起来可以工作了:

>>> import mxnet as mx
>>> import matplotlib
>>> matplotlib.use('Qt4Agg')
>>> import matplotlib.pyplot as plt 

nice :)


6 Jul, 2017 记

使用Qt4Agg可能存在些问题,在某些版本的某些应用中。
比如,今早在这台32-bit的机器上。
发现在使用plt.clf命令时没有效果,这条命令的目的是为了更新title以作GUI的提示,但使用之后发现没有得到更新,而是等到下次GUI交互时才被更新(这样就根本达不到提示的效果)。
此时的解决方案是换回TkAgg:

import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt

转载于:https://www.cnblogs.com/chenyliang/p/7068672.html

pyplot gtk2 conflicts with gtk3相关推荐

  1. 在Visual Studio设置隐藏cmd,GTK程序有效

    我在Visual Studio设置了GTK的开发环境.GTK2,虽然GTK3现在也比较成熟了,但是一直没有找到一个有效的All in one Bundle, 就放弃了,GTK2目前的资料也是比较多的, ...

  2. 解决 GTK+/GNOME 3 环境下 Java Swing 程序使用本地 GTK+ 主题时菜单无边框 bug 的方法...

    在 GTK+/GNOME 3 环境下采用默认的 Adwaita 主题时,Java Swing 程序如果使用本地 GTK+ 主题会出现菜单无边框的 bug,这个问题也可能在其他常用的 GTK+ 主题中出 ...

  3. Ubuntu安装Matlab其Simulink没有菜单栏的解决方案(转载可用)

    原文链接:https://blog.csdn.net/ly869915532/article/details/107849653 Ubuntu安装Matlab其Simulink没有菜单栏的解决方案 版 ...

  4. Ubuntu安装Matlab其Simulink没有菜单栏的解决方案

    Ubuntu安装Matlab其Simulink没有菜单栏的解决方案 1.版本信息 2.问题描述 3.解决办法 1.版本信息 Ubuntu 16.04 LTS Matlab 2020a 2.问题描述 M ...

  5. 06 openEuler XFCE 桌面环境的安装和使用

    06 openEuler XFCE 桌面环境的安装和使用 文章目录 06 openEuler XFCE 桌面环境的安装和使用 6.1 XFCE简介 6.2 XFCE安装方法 6.2.1 更新软件源 6 ...

  6. linux矢量图像编辑,Inkscape 1.0发布,开源矢量图形编辑器重要版本

    Inkscape 1.0终于来了! 这个已经存在了将近二十年的开源矢量图形编辑器终于达到了1.0状态. 除版本号外,Inkscape 1.0是一个重要版本. Inkscape 1.0标志着从GTK2移 ...

  7. debian 8 安装 codeblocks

    OS:Debian 8 Software:CodeBlocks 我认为CodeBlocks在IDE里面可以称得上是最好的软件之一了,绝对可以进入IDE排名的前三. 我和CodeBlocks结缘于ACM ...

  8. conda env create -f environment.yml报错ResolvePackageNotFound和Found conflicts的解决方案【已解决】

    阅读须知:长文,将近10万字.主要原因是报了太多错,记录了太多bug. 前面的11步骤是我的试错过程,直到第12/13步才解决.没耐心的可以直接从目录跳到第12步最后. 整篇文章简而言之:笨方法在一些 ...

  9. python画图标题_使用pyplot.matshow()函数添加绘图标题

    仅供参考 import matplotlib.pyplot as plt import numpy as np def samplemat(dims): """Make ...

  10. Matplot pyplot绘制单图,多子图不同样式详解,这一篇就够了

    Matplot pyplot绘制单图,多子图不同样式详解,这一篇就够了 1. 单图单线 2. 单图多线不同样式(红色圆圈.蓝色实线.绿色三角等) 3. 使用关键字字符串绘图(data 可指定依赖值为: ...

最新文章

  1. python传送带和斐波那契
  2. 蚂蚁“备战”TPC-C这1年
  3. wamp2 php配置,wamp安装后自定义配置的方法
  4. plsql导出表结构_mysqldump命令详解 Part 5-按条件备份表数据
  5. bzoj4772 显而易见的数论
  6. 小记安装ElasticSearch遇到的小坑
  7. win10系统下如何查看端口被哪个进程占用
  8. 驰为 hi12 linux,驰为Hi12 最适合入手的手写平板 真的可以试试
  9. Mac 输入法小技巧
  10. linux更新opengl驱动下载,支持OpenGL 3.2 NVIDIA全新Linux驱动发布
  11. flink(三):数据处理Transformation
  12. js根据IP地址获取当前的省市
  13. 第四届蓝桥杯JavaA组省赛真题
  14. K-Means聚类及调用sklearn库代码实现
  15. java跟全链路ui哪个好,什么是全链路UI设计师
  16. 【PyTorch】torch.nn.Transformer解读与应用
  17. 汉字点阵c语言程序,用c51单片机控制1616点阵显示汉字源代码
  18. Android平台上做一个完美的音乐频谱--Music Audio Glow
  19. 网络工程师操作学习指南
  20. Golang语言快速上手到综合实战(Go语言、Beego框架、高并发聊天室、豆瓣电影爬虫) 下载

热门文章

  1. mysql查看前十行_head 命令 读取文件的前n行,默认查看文件的前十行
  2. Mysq 隔离级别操作
  3. wrong ELF class: ELFCLASS64
  4. Permission denied (publickey) 解决方案
  5. Linux开发_反编译开发_破解简单登录程序外加缓冲区溢出攻击
  6. Handsontable 类似 excel 表格编辑器
  7. struts2 中的 addActionError 、addFieldError、addActionMessage方法的区别添加错误信息
  8. zabbix 代理报错
  9. 支持MYSQL的DNS服务器的搭建
  10. Flex动态创建多个曲线图+柱形图