栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Pycharm在远程Debug时,X11显示图像,matplotlib会报Matplotlib is currently using agg的错

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Pycharm在远程Debug时,X11显示图像,matplotlib会报Matplotlib is currently using agg的错

目录
    • 在服务器端的配置
    • 在本地机的配置

开发环境:

  • 本地环境win10, Pycharm2021
  • 使用远程的centos7 服务器上的python解释器

Matplotlib会抛出下面的警告,然后用matplotlib画的图也无法显示了。

UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.
    plt.show()
在服务器端的配置

首先要检查服务器上的ssh协议是否正常运行,centos7的话是使用 sudo vim /etc/ssh/sshd_config来编辑ssh的配置文件,加入下面这样的两行。第一行是开启X11Forwarding,第二行是让默认的Display号为11。这个怎么理解呢?以我的使用场景为例,如果该服务器只有自己一个人用ssh的话,当你开启一个MobaXterm,通过ssh连接到服务器后,我本地电脑分配到的Display号默认就是11了。

X11Forwarding yes
X11DisplayOffset 11
在本地机的配置

下面就是只在自己本地机上操作了,用MobaXterm建立ssh的连接(可以设置自动开启X11 Forwarding,这就体现出了它相比于分别操作Putty和X11 ming的优势)。MobaXterm要设置成下面这样,防止ssh休眠,并开启默认开启X11-Forwarding。

这样设置好后,当用ssh连接后,会出现下面的信息:

让MobaXterm在后台运行着,这样用Pycharm才可以正常在本地显示figure。记得在Mobaxterm中键入 echo $DISPLAY来看本地的号,该号要与下面Pycharm中运行程序的配置文件中的设置的一致,如下图所示。若是这两个号不一致,那么你就会得到本文最开始时的Matplotlib警告信息。

搞定!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/974611.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号