matplotlib pyplot 的总线错误(核心转储)

Posted

技术标签:

【中文标题】matplotlib pyplot 的总线错误(核心转储)【英文标题】:Bus error (core dumped) with matplotlib pyplot 【发布时间】:2018-03-08 16:35:33 【问题描述】:

使用 IPython 控制台生成 matplotlib.pyplot 图表我最近才得到Bus error (core dumped)

我的操作系统是 Ubuntu 16.04 LTS,我正在使用 Anaconda Python 发行版。

Python 2.7.14 |Anaconda custom (64-bit)| (default, Dec  7 2017, 17:05:42) 

IPython 5.4.1 -- An enhanced Interactive Python.

In [1]: import matplotlib.pyplot as plt

In [2]: plt.get_backend()
Out[2]: u'Qt5Agg'

In [3]: plt.plot(range(10))
Bus error (core dumped)

如果我使用 jupyter 笔记本,那么 plt.get_backend() 会报告 %matplotlib inline 并且一切正常。

所以我怀疑它的 Qt5。

我很难过,因为我已经尝试了我所知道的一切。我的笔记本电脑与 Anaconda 的设置相同。

谢谢!

【问题讨论】:

【参考方案1】:

解决了我的问题!

安装 Tk(C++ 库)和 Tkinter(围绕它的 python 包装器) - 归功于 Run matplotlib in a virtualenv on Ubuntu 16.04 with different backends - Boris Belousov。

sudo apt-get install tk-dev python-tk python3-tk

然后在IPython运行

import matplotlib as mpl
mpl.use('TkAgg')

import matplotlib.pyplot as plt

plt.plot(range(10))
plt.show()

这会生成一个绘图窗口。

【讨论】:

以上是关于matplotlib pyplot 的总线错误(核心转储)的主要内容,如果未能解决你的问题,请参考以下文章

python-matplotlib 中 import pyplot 出现错误的解决.

在 Mac OS X 10.12.5 中将 matplotlib.pyplot 导入为 plt 错误

如何解决 import matplotlib.pyplot as plt 错误?

gwpy 包给出错误 - AttributeError:模块“matplotlib.pyplot”在 Google Colab 中没有属性“FigureManagerBase”

无法导入 matplotlib.pyplot

matplotlib.pyplot 在 python 2.7 上给出错误“ImportError:没有名为 Tkinter 的模块”