File tree Expand file tree Collapse file tree 1 file changed +11
-3
lines changed
Expand file tree Collapse file tree 1 file changed +11
-3
lines changed Original file line number Diff line number Diff line change @@ -81,10 +81,18 @@ def _get_available_interactive_backends():
8181 elif env ["MPLBACKEND" ] == 'macosx' and os .environ .get ('TF_BUILD' ):
8282 reason = "macosx backend fails on Azure"
8383 elif env ["MPLBACKEND" ].startswith ('gtk' ):
84- import gi # type: ignore
84+ try :
85+ import gi # type: ignore
86+ except ImportError :
87+ # Though we check that `gi` exists above, it is possible that its
88+ # C-level dependencies are not available, and then it still raises an
89+ # `ImportError`, so guard against that.
90+ available_gtk_versions = []
91+ else :
92+ gi_repo = gi .Repository .get_default ()
93+ available_gtk_versions = gi_repo .enumerate_versions ('Gtk' )
8594 version = env ["MPLBACKEND" ][3 ]
86- repo = gi .Repository .get_default ()
87- if f'{ version } .0' not in repo .enumerate_versions ('Gtk' ):
95+ if f'{ version } .0' not in available_gtk_versions :
8896 reason = "no usable GTK bindings"
8997 marks = []
9098 if reason :
You can’t perform that action at this time.
0 commit comments