matplotlib没有使用qt4agg后端打开pyplot.show()的情节,也找不到sip

时间:2014-07-02 13:41:42

标签: python matplotlib

我对这个问题有一个非常相似的问题:matplotlib does not show my drawings although I call pyplot.show()

我正在使用: Ubuntu 12.04; Python 3.4.1; Pycharm 3.4.1

所以,我使用3.4.1解释器在pyCharm中运行以下代码,并且没有出现的情节:

import matplotlib.pyplot as p 
p.plot(range(20), range(20))
p.show()

然后我认为它可能是pycharm的东西,因此我在终端尝试了相同的东西。但是,情节也没有出现。

然而,由于Ubuntu内置了Python 2.7,我在终端上尝试了相同的功能,然后在pycharm和plot上出现了。

我发现matplotlibrc文件中的后端应该被更改。我用谷歌搜索,应该使用qt4agg后端。在更改它并尝试导入matplotlib.pyplot之后,我得到以下内容

import matplotlib.pyplot as p
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/usr/local/lib/python3.4/dist-packages/matplotlib/pyplot.py", line 98, in <module>
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "/usr/local/lib/python3.4/dist-packages/matplotlib/backends/__init__.py", line 28, in pylab_setup
globals(),locals(),[backend_name],0)
File "/usr/local/lib/python3.4/dist-packages/matplotlib/backends/backend_qt4agg.py", line 13, in <module>
from .backend_qt4 import QtCore, QtGui, FigureManagerQT, FigureCanvasQT,\
File "/usr/local/lib/python3.4/dist-packages/matplotlib/backends/backend_qt4.py", line 25, in <module>
from .qt4_compat import QtCore, QtGui, _getSaveFileName, __version__
File "/usr/local/lib/python3.4/dist-packages/matplotlib/backends/qt4_compat.py", line 36, in <module>
import sip
ImportError: No module named 'sip'

因此,我使用

安装了sip
 sudo apt-get install python3-sip

并出现相同的错误。

我试图找出SIP的错误。但是,我有点困惑,任何帮助将不胜感激。 感谢

1 个答案:

答案 0 :(得分:1)

好吧,经过多方努力,我终于成功了。

首先,我的计算机中可能有三到四种不同的python版本:2.7作为ubuntu默认版本,3.2,3.4.0和3.4.1。他们每个人都有不同版本的matplotlib(多数为1.3.1)。所以,首先我清理了无用的python版本(3.2,3.4)。

其次,我删除了所有可用的matplotlib目录。我使用matplotlib文档来确定应删除哪些文件夹以完全删除它。 (http://matplotlib.org/contents.html

之后,我从git(http://matplotlib.org/faq/installing_faq.html#install-from-git)克隆了最新的matplotlib版本并安装了它。而这一点matplotlib版本是1.4。然后我尝试再次重现我的第一个例子并且它有效。没有后端被改变。

因此,清除删除和最新版本应该可以解决问题。