【记录】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渲染器输出到绘图面板,它是交互式的后端,拥有在屏幕上展示的能力。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端