Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 465f51a

Browse files
authored
Merge pull request #13070 from lazka/cairo-import
cairo backend: default to pycairo
2 parents a2e251a + 056b86c commit 465f51a

File tree

2 files changed

+13
-11
lines changed

2 files changed

+13
-11
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
The cairo backend now defaults to pycairo instead of cairocffi
2+
``````````````````````````````````````````````````````````````
3+
4+
This leads to faster import/runtime performance in some cases. The backend
5+
will fall back to cairocffi in case pycairo isn't available.

lib/matplotlib/backends/backend_cairo.py

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,18 @@
1010

1111
import numpy as np
1212

13-
# cairocffi is more widely compatible than pycairo so try it first.
1413
try:
15-
import cairocffi as cairo
14+
import cairo
15+
if cairo.version_info < (1, 11, 0):
16+
# Introduced create_for_data for Py3.
17+
raise ImportError
1618
except ImportError:
1719
try:
18-
import cairo
20+
import cairocffi as cairo
1921
except ImportError:
20-
raise ImportError("cairo backend requires that cairocffi or pycairo "
21-
"is installed")
22-
else:
23-
if cairo.version_info < (1, 11, 0):
24-
# Introduced create_for_data for Py3.
25-
raise ImportError(
26-
"cairo {} is installed; cairo>=1.11.0 is required"
27-
.format(cairo.version))
22+
raise ImportError(
23+
"cairo backend requires that pycairo>=1.11.0 or cairocffi"
24+
"is installed")
2825

2926
backend_version = cairo.version
3027

0 commit comments

Comments
 (0)