Skip to content

Commit 5c963ae

Browse files
committed
Added version check for PySide >= 1.0.3.
1 parent a80b001 commit 5c963ae

File tree

2 files changed

+13
-9
lines changed

2 files changed

+13
-9
lines changed

lib/matplotlib/backends/backend_qt4.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,8 @@
2020
except ImportError:
2121
figureoptions = None
2222

23-
try:
24-
from qt4_compat import QtCore, QtGui, _getSaveFileName, __version__
25-
except ImportError:
26-
raise ImportError("Qt4 backend requires that PyQt4 or PySide is installed.")
27-
23+
from qt4_compat import QtCore, QtGui, _getSaveFileName, __version__
24+
2825
backend_version = __version__
2926
def fn_name(): return sys._getframe(1).f_code.co_name
3027

lib/matplotlib/backends/qt4_compat.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@
1212
QT_API = os.environ.get('QT_API', QT_API_PYQT)
1313

1414
if QT_API == QT_API_PYQT:
15-
from PyQt4 import QtCore, QtGui
16-
15+
try:
16+
from PyQt4 import QtCore, QtGui
17+
except ImportError:
18+
raise ImportError("Qt4 backend requires that PyQt4 is installed.")
1719
# Alias PyQt-specific functions for PySide compatibility.
1820
try:
1921
QtCore.Slot = QtCore.pyqtSlot
@@ -39,8 +41,13 @@
3941
_getSaveFileName = QtGui.QFileDialog.getSaveFileName
4042

4143
elif QT_API == QT_API_PYSIDE:
42-
from PySide import QtCore, QtGui, __version__
43-
44+
try:
45+
from PySide import QtCore, QtGui, __version__, __version_info__
46+
except ImportError:
47+
raise ImportError("Qt4 backend requires that PySide is installed.")
48+
if __version_info__ < (1,0,3):
49+
raise ImportError("Matplotlib backend_qt4 and backend_qt4agg require PySide >=1.0.3")
50+
4451
# Alias PySide-specific function for PyQt compatibilty
4552
QtCore.pyqtProperty = QtCore.Property
4653
QtCore.pyqtSignature = QtCore.Slot # Not a perfect match but

0 commit comments

Comments
 (0)