Ubuntu新手启动IDLE时遭遇「no display name and no $DISPLAY environment variable」错误求助
Ubuntu新手启动IDLE时遭遇「no display name and no $DISPLAY environment variable」错误求助
兄弟别慌!刚接触Ubuntu遇到这个问题太正常了,我来给你把事儿掰扯清楚~
先把你碰到的错误日志贴出来,方便对照:
Traceback (most recent call last): File "/usr/bin/idle", line 5, in <module> main() File "/usr/lib/python3.10/idlelib/pyshell.py", line 1617, in main root = Tk(className="Idle") File "/usr/lib/python3.10/tkinter/__init__.py", line 2299, in __init__ self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use) _tkinter.TclError: no display name and no $DISPLAY environment variable
为啥会出这个错?
IDLE是带图形界面的Python编辑器,它必须依赖系统的图形显示环境才能运行。你现在启动它的场景里,系统找不到可用的显示设备(比如你在纯命令行模式操作,或者用SSH远程连接但没开图形转发),所以就报这个错啦。
给你几种解决办法,选适合你的:
情况1:你在Ubuntu本地,现在处于纯命令行模式(没进图形桌面)
直接按Ctrl+Alt+F3(或者F4-F6,看你系统)切回图形桌面,从应用菜单里找IDLE启动就行;要是不想进图形界面,也可以用纯命令行编辑器写代码,比如nano test.py(简单易上手),写完按Ctrl+O保存、Ctrl+X退出,再用python3 test.py运行。情况2:你通过SSH远程连接Ubuntu,想启动图形版IDLE
得开SSH的X11图形转发功能:- 本地电脑先装X服务器软件:Windows用Xming,Mac用XQuartz,Linux本地自带不用装;
- 连接服务器时用这个命令:
ssh -X 你的用户名@服务器IP; - 连上后再输入
idle,图形界面的IDLE就会弹在你本地电脑上了。
情况3:其实你只是想写/跑Python代码,不一定非要用IDLE
直接在命令行输python3就能进交互式Python环境,写完代码按Ctrl+D退出;或者用上面说的nano写脚本文件,完全够用,还不用依赖图形界面。
备注:内容来源于stack exchange,提问作者JS- blueslowtime
相关产品推荐
相关产品推荐

