1

我不明白为什么当我尝试使用 Gtk3Agg 后端时,我最终得到一个错误,告诉我找不到 cairo 模块。

    ** (simple_plot_in_gtk3.py:312517):警告**:检索无障碍总线地址时出错:org.freedesktop.DBus.Error.ServiceUnknown:任何 .service 文件均未提供名称 org.a11y.Bus
    回溯(最近一次通话最后):
      文件“simple_plot_in_gtk3.py”,第 5 行,在
        从 matplotlib.backends.backend_gtk3agg 导入 FigureCanvasGTK3Agg 作为 FigureCanvas
      文件“/Produits/publics/x86_64.Linux.RH6/python/3.4.1/lib/python3.4/site-packages/matplotlib-1.3.1-py3.4-linux-x86_64.egg/matplotlib/backends/backend_gtk3agg .py”,第 1 行,在
        进口开罗
    ImportError:没有名为“cairo”的模块

我正在尝试从 matplolib 站点运行matplotlib/GTK3 示例。

4

2 回答 2

1

为 Python安装Python binging可以:

$ pip install pycairo
于 2020-09-02T10:20:04.553 回答
0

如果您查看backend_gtk3agg.py文件,您会看到文件中的第一行是;

import cairo
import numpy as np
import sys
import warnings

import backend_agg
import backend_gtk3
from matplotlib.figure import Figure
from matplotlib import transforms

所以,是的,gtk3agg 后端需要cairo 库及其Python 绑定。和麻木的。

它使用 Cairo 作为 ImageSurface 缓冲区,因为 AGG不提供。我不知道为什么 gtk3agg 开发人员选择了这种方法。大概是因为方便。

于 2014-08-01T16:24:01.750 回答