关于matplotlib的DISPLAY错误

本文记录了在Ubuntu16.04环境下,使用Anaconda配置R-FCN网络过程中遇到的“TclError: nodisplay name and no $DISPLAY environment variable”错误,并详细介绍了如何排查和解决这一问题,包括对环境变量的调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在Ubuntu16.04上跑python版本的R-FCN网络,因为我使用的是anaconda环境,所以在配置caffe和跑程序都出现了各种奇奇怪怪的问题,伴随着这些问题的解决,我发现自己对linux系统的文件之间的关联有了更加深刻的理解。


这次出现的是TclError: no display name and no $DISPLAY environment variable错误,根据网上的资料显示,这种问题大都出现在远程链接服务器进行图像显示中,需要对远程连接的环境进行设置,这方面Google上讨论很多了,直接搜索可以得到很多结果,大都大同小异。


还有人认为这是前端的设置问题,通过在脚本中加入

import matplotlib
matplotlib.use('Agg')


或者修改你python文件中的matplotlibrc文件,讲backend一项由TkAgg修改为Agg,虽然这样会使脚本运行不再报错,但是图像将会显示不出来。


经过不断地实验测试,最后发现竟然是环境变量的问题。我在anaconda下使用了conda的多版本环境管理,因为在运行GPU版本caffe时某些文件需要root权限,所以我在运行脚本时加入了sudo python demo.py,

sudo命令会使环境变量重置,而我咋使用env_keep时漏掉了一些环境,为了省事,直接采用sudo visudo命令,修改env_reset为!env_reset,测试运行OK!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值