@@ -1424,12 +1424,19 @@ def get_extension(self):
1424
1424
1425
1425
def backend_gtk3agg_internal_check (x ):
1426
1426
try :
1427
- from gi . repository import Gtk , Gdk , GObject
1427
+ import gi
1428
1428
except ImportError :
1429
1429
return (False , "Requires pygobject to be installed." )
1430
1430
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." )
1433
1440
1434
1441
return (True , "version %s.%s.%s" % (
1435
1442
Gtk .get_major_version (),
@@ -1444,6 +1451,9 @@ def check(self):
1444
1451
if 'TRAVIS' in os .environ :
1445
1452
raise CheckFailed ("Can't build with Travis" )
1446
1453
1454
+ if sys .version_info [0 ] >= 3 :
1455
+ return "gtk3agg backend does not work on Python 3"
1456
+
1447
1457
# This check needs to be performed out-of-process, because
1448
1458
# importing gi and then importing regular old pygtk afterward
1449
1459
# segfaults the interpreter.
@@ -1468,6 +1478,16 @@ def backend_gtk3cairo_internal_check(x):
1468
1478
except ImportError :
1469
1479
return (False , "Requires cairo to be installed." )
1470
1480
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
+
1471
1491
try :
1472
1492
from gi .repository import Gtk , Gdk , GObject
1473
1493
except ImportError :
@@ -1611,7 +1631,7 @@ def check(self):
1611
1631
try :
1612
1632
import pyqtconfig
1613
1633
except ImportError :
1614
- raise CheckFailed ("not found" )
1634
+ raise CheckFailed ("pyqt not found" )
1615
1635
else :
1616
1636
try :
1617
1637
qt_version = pyqtconfig .Configuration ().qt_version
@@ -1641,7 +1661,7 @@ def check(self):
1641
1661
try :
1642
1662
from PyQt4 import pyqtconfig
1643
1663
except ImportError :
1644
- raise CheckFailed ("not found" )
1664
+ raise CheckFailed ("PyQt4 not found" )
1645
1665
else :
1646
1666
1647
1667
BackendAgg .force = True
@@ -1660,7 +1680,7 @@ def check(self):
1660
1680
from PySide import __version__
1661
1681
from PySide import QtCore
1662
1682
except ImportError :
1663
- raise CheckFailed ("not found" )
1683
+ raise CheckFailed ("PySide not found" )
1664
1684
else :
1665
1685
BackendAgg .force = True
1666
1686
@@ -1675,7 +1695,7 @@ def check(self):
1675
1695
try :
1676
1696
import cairo
1677
1697
except ImportError :
1678
- raise CheckFailed ("not found" )
1698
+ raise CheckFailed ("cairo not found" )
1679
1699
else :
1680
1700
return "version %s" % cairo .version
1681
1701
0 commit comments