【问题标题】:PyCharm Matplotlib "UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure. plt.show()"PyCharm Matplotlib "UserWarning: Matplotlib 当前正在使用 agg,这是一个非 GUI 后端,因此无法显示图形。plt.show()"
【发布时间】:2020-06-28 01:50:06
【问题描述】:

matplotlib.pyplot.show() 函数有问题。我在 Linux 上使用 PyCharm,并且我有一个 VirtualEnv。当我像这样在 PyCharm(使用 venv)的内置终端中执行文件 x.py

$ python x.py

一切正常,函数plt.show() 很好地呈现并显示了绘制的图形。我确实添加了 print(matplotlib.get_backend()) 以查看默认使用哪个后端,结果是 GTK3Agg

当我使用选项运行而不是终端时,问题就开始了。然后我收到一条错误消息

UserWarning:Matplotlib 当前使用的是 agg,这是一个非 GUI 后端,所以无法显示该图。 plt.show()

无论如何,我在网上搜索并根据this和其他链接,我不得不在.config/matplotlib/matplotlibrc中添加backend: GTK3Agg。该文件不存在,所以我自己创建了它。现在当我再次运行时,我收到以下错误消息:

raise ImportError('backend Gtk3Agg requires cairo') from e ImportError: backend Gtk3Agg requires cairo

我该如何解决这个问题?

【问题讨论】:

  • 看起来你有两个环境,一个安装了 GTK 和依赖项,另一个是 PyCharm 使用的,但缺少这些环境。
  • @ImportanceOfBeingErnest 好的,所以我去了设置>项目解释器,发现 cairo、pycairo 和 cairocffi 不见了。我设法安装了 cairocffi。我试图找到 cairo 但没有运气(可能是因为它是渲染包而不是后端)。我尝试安装 pycairo,但我需要安装 cairo。我能做什么?
  • @ImportanceOfBeingErnest 我添加了当我尝试为项目解释器安装 pycairo 时显示的错误

标签: python matplotlib pycharm


【解决方案1】:

我设法解决了我的问题,感谢@ImportanceOfBeingErnest 指出我有两个环境,一个安装了 GTK 和依赖项,另一个由 PyCharm 使用,但缺少这些环境。

我必须去Settings > Project interpreter 并安装 ma​​tplotlibpycairoPyGObject

安装 pycairo 和 PyGObject 还需要这些包,我必须从终端安装:

sudo dnf install cairo-devel (or libcairo2 in ubuntu)
sudo dnf install python3-devel
sudo dnf install gobject-introspection-devel
sudo dnf install cairo-gobject-devel

现在我可以使用 GTK3Agg 作为我的后端了。

【讨论】:

    猜你喜欢
    • 2019-08-21
    • 2020-01-08
    • 2019-11-01
    • 2022-12-01
    • 1970-01-01
    • 2022-11-10
    • 2019-07-02
    • 1970-01-01
    • 2016-09-18
    相关资源
    最近更新 更多