@@ -1424,12 +1424,19 @@ def get_extension(self):
14241424
14251425def backend_gtk3agg_internal_check (x ):
14261426 try :
1427- from gi . repository import Gtk , Gdk , GObject
1427+ import gi
14281428 except ImportError :
14291429 return (False , "Requires pygobject to be installed." )
14301430
1431- if sys .version_info [0 ] >= 3 :
1432- return (False , "gtk3agg does not work on Python 3" )
1431+ try :
1432+ gi .require_version ("Gtk" , "3.0" )
1433+ except ValueError :
1434+ return (False , "Requires gtk3 development files to be installed." )
1435+
1436+ try :
1437+ from gi .repository import Gtk , Gdk , GObject
1438+ except ImportError :
1439+ return (False , "Requires pygobject to be installed." )
14331440
14341441 return (True , "version %s.%s.%s" % (
14351442 Gtk .get_major_version (),
@@ -1444,6 +1451,9 @@ def check(self):
14441451 if 'TRAVIS' in os .environ :
14451452 raise CheckFailed ("Can't build with Travis" )
14461453
1454+ if sys .version_info [0 ] >= 3 :
1455+ return "gtk3agg backend does not work on Python 3"
1456+
14471457 # This check needs to be performed out-of-process, because
14481458 # importing gi and then importing regular old pygtk afterward
14491459 # segfaults the interpreter.
@@ -1468,6 +1478,16 @@ def backend_gtk3cairo_internal_check(x):
14681478 except ImportError :
14691479 return (False , "Requires cairo to be installed." )
14701480
1481+ try :
1482+ import gi
1483+ except ImportError :
1484+ return (False , "Requires pygobject to be installed." )
1485+
1486+ try :
1487+ gi .require_version ("Gtk" , "3.0" )
1488+ except ValueError :
1489+ return (False , "Requires gtk3 development files to be installed." )
1490+
14711491 try :
14721492 from gi .repository import Gtk , Gdk , GObject
14731493 except ImportError :
@@ -1611,7 +1631,7 @@ def check(self):
16111631 try :
16121632 import pyqtconfig
16131633 except ImportError :
1614- raise CheckFailed ("not found" )
1634+ raise CheckFailed ("pyqt not found" )
16151635 else :
16161636 try :
16171637 qt_version = pyqtconfig .Configuration ().qt_version
@@ -1641,7 +1661,7 @@ def check(self):
16411661 try :
16421662 from PyQt4 import pyqtconfig
16431663 except ImportError :
1644- raise CheckFailed ("not found" )
1664+ raise CheckFailed ("PyQt4 not found" )
16451665 else :
16461666
16471667 BackendAgg .force = True
@@ -1660,7 +1680,7 @@ def check(self):
16601680 from PySide import __version__
16611681 from PySide import QtCore
16621682 except ImportError :
1663- raise CheckFailed ("not found" )
1683+ raise CheckFailed ("PySide not found" )
16641684 else :
16651685 BackendAgg .force = True
16661686
@@ -1675,7 +1695,7 @@ def check(self):
16751695 try :
16761696 import cairo
16771697 except ImportError :
1678- raise CheckFailed ("not found" )
1698+ raise CheckFailed ("cairo not found" )
16791699 else :
16801700 return "version %s" % cairo .version
16811701
0 commit comments