PyCharm Matplotlib "UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so c



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

$python x.py

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

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

用户警告:Matplotlib当前正在使用非GUI的agg后端,因此无法显示图.plt.show((

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

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

如何修复此问题?

多亏@ImportanceOfBeingErnest指出我有两个环境,一个是安装了GTK和依赖项的环境,另一个是PyCharm使用的环境,缺少这些环境。

我必须转到Settings > Project interpreter并安装matplotlibpycairoPyGObject

安装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作为我的后端。

在我的案例(Linux Mint 20.3(中,问题来自于从软件管理器安装PyCharm。PyCharm随后安装了flatpak

flatpak list

应该给你一个想法,如果是这样的话。

该版本存在问题。看看:https://github.com/flathub/com.jetbrains.PyCharm-Community/issues/15

我可以通过安装带有snapd的PyCharm来修复它。https://thesecmaster.com/3-ways-to-install-pycharm-on-linux-mint-and-ubuntu/

则:sudo apt-get install python3.8-tk在PyCharm中,我不得不添加

"未来";以及";matplotlib";

有关它的详细信息:当你第一次运行PyCharm(从软件管理器安装(时,你会收到:

https://www.flathub.org


|警告:您正在运行PyCharm的非官方Flatpak版本|

请在下面打开问题:https://github.com/flathub/com.jetbrains.PyCharm-Community/issues

此版本在容器内运行,因此无法访问主机系统上的SDK!

相关内容

最新更新