【发布时间】: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