【记录】qt.qpa.screen: Could not connect to any X display 解决方案

最近在使用linux服务器画图的时候突然遇到了如下报错:

No protocol specified
qt.qpa.screen: QXcbConnection: Could not connect to display :0
Could not connect to any X display.

没有使用plt.show()或者imshow()之类的操作。在.bashrc中更改DISPLAY:=0也没有办法解决。
解决方案:

import matplotlib
matplotlib.use('Agg') # 一定要加在import matplotlib.pyplot as plt前面。
import matplotlib.pyplot as plt

matplotlib的use()命令其实是用来配置matplotlib的backend (后端)的命令。

>>> import matplotlib
>>> print(matplotlib.get_backend())
Qt5Agg
>>> 

实际上,Agg 渲染器是非交互式的后端,没有GUI界面,所以不显示图片,但是拥有写入到文件中的能力。Qt5Agg 是意思是Agg渲染器输出到绘图面板,它是交互式的后端,拥有在屏幕上展示的能力。

posted @   __一条秋刀鱼  阅读(388)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示