~russo79/mnemosyne-proj/force-matplotlib-pyqt4-backend

« back to all changes in this revision

Viewing changes to mnemosyne/mnemosyne/pyqt_ui/statistics_wdgts_plotting.py

  • Committer: Nuno Araujo
  • Date: 2014-09-03 20:11:45 UTC
  • Revision ID: nuno.araujo@russo79.com-20140903201145-lkqrliu84ssmo29o
Force the usage of matplotlib PyQt4 backend

matplotlib tries its backends on a given order
The PyQt5 backend comes before the PyQt4 backend.

On systems that have both backends installed, this caused a RuntimeError
due to conflicting PyQt versions:

    An unexpected error has occurred.
    Please forward the following info to the developers:

    Traceback (innermost last):
    File "/usr/bin/mnemosyne", line 191, in <module>
    debug_file=options.debug_file)
    File "/usr/lib/python2.7/site-packages/mnemosyne/libmnemosyne/__init__.py", line 172, in initialise
    self.register_components()
    File "/usr/lib/python2.7/site-packages/mnemosyne/libmnemosyne/__init__.py", line 242, in register_components
    exec("from %s import %s" % (module_name, class_name))
    File "<string>", line 1, in <module>
    File "/usr/lib/python2.7/site-packages/mnemosyne/pyqt_ui/statistics_wdgts_plotting.py", line 9, in <module>
    from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
    File "/usr/lib/python2.7/site-packages/matplotlib/backends/backend_qt4agg.py", line 17, in <module>
    from .backend_qt5agg import NavigationToolbar2QTAgg
    File "/usr/lib/python2.7/site-packages/matplotlib/backends/backend_qt5agg.py", line 18, in <module>
    from .backend_qt5 import QtCore
    File "/usr/lib/python2.7/site-packages/matplotlib/backends/backend_qt5.py", line 28, in <module>
    import matplotlib.backends.qt_editor.figureoptions as figureoptions
    File "/usr/lib/python2.7/site-packages/matplotlib/backends/qt_editor/figureoptions.py", line 17, in <module>
    import matplotlib.backends.qt_editor.formlayout as formlayout
    File "/usr/lib/python2.7/site-packages/matplotlib/backends/qt_editor/formlayout.py", line 58, in <module>
    from matplotlib.backends.qt_compat import QtGui, QtWidgets, QtCore
    File "/usr/lib/python2.7/site-packages/matplotlib/backends/qt_compat.py", line 91, in <module>
    from PyQt5 import QtCore, QtGui, QtWidgets
    RuntimeError: the PyQt5.QtCore and PyQt4.QtCore modules both wrap the QObject class

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
 
5
5
from PyQt4 import QtGui
6
6
 
 
7
from matplotlib import use
 
8
use("Qt4Agg")
 
9
 
7
10
from matplotlib import rcParams
8
11
from matplotlib.figure import Figure
9
12
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas