首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >RuntimeError('Invalid DISPLAY variable')的处理及linux服务器上使用matplotlib.pyplot绘图

RuntimeError('Invalid DISPLAY variable')的处理及linux服务器上使用matplotlib.pyplot绘图

作者头像
烤粽子
发布2021-07-07 18:13:40
发布2021-07-07 18:13:40
1.1K00
举报
运行总次数:0

使用远程连接Linux服务器运行Python代码时出现如下错误:

代码语言:javascript
代码运行次数:0
运行
复制
Traceback (most recent call last):
  File "./tools/demo.py", line 153, in <module>
    demo(sess, net, im_name)
  File "./tools/demo.py", line 100, in demo
    vis_detections(im, cls, dets, thresh=CONF_THRESH)
  File "./tools/demo.py", line 50, in vis_detections
    fig, ax = plt.subplots(figsize=(12, 12))
  File "/home/yoshie/anaconda3/envs/mwx/lib/python2.7/site-packages/matplotlib/pyplot.py", line 1184, in subplots
    fig = figure(**fig_kw)
  File "/home/yoshie/anaconda3/envs/mwx/lib/python2.7/site-packages/matplotlib/pyplot.py", line 533, in figure
    **kwargs)
  File "/home/yoshie/anaconda3/envs/mwx/lib/python2.7/site-packages/matplotlib/backend_bases.py", line 161, in new_figure_manager
    return cls.new_figure_manager_given_figure(num, fig)
  File "/home/yoshie/anaconda3/envs/mwx/lib/python2.7/site-packages/matplotlib/backend_bases.py", line 167, in new_figure_manager_given_figure
    canvas = cls.FigureCanvas(figure)
  File "/home/yoshie/anaconda3/envs/mwx/lib/python2.7/site-packages/matplotlib/backends/backend_qt5agg.py", line 24, in __init__
    super(FigureCanvasQTAgg, self).__init__(figure=figure)
  File "/home/yoshie/anaconda3/envs/mwx/lib/python2.7/site-packages/matplotlib/backends/backend_qt5.py", line 234, in __init__
    _create_qApp()
  File "/home/yoshie/anaconda3/envs/mwx/lib/python2.7/site-packages/matplotlib/backends/backend_qt5.py", line 125, in _create_qApp
    raise RuntimeError('Invalid DISPLAY variable')
RuntimeError: Invalid DISPLAY variable

错误原因是Linux没有GUI界面,本地terminal也无法显示图片。 **解决方法:**在导入matplotlib.pyplot库之前,先执行

代码语言:javascript
代码运行次数:0
运行
复制
import matplotlib as mpl
mpl.use('Agg')

再执行

代码语言:javascript
代码运行次数:0
运行
复制
import matplotlib.pyplot as plt

错误就不再发生了。 输出图片也可以选择保存在相应目录

代码语言:javascript
代码运行次数:0
运行
复制
plt.savefig("/xxx/xxx.jpg") 

想要实时查看图片也推荐使用jupyter notebook

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/03/12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档