我尝试从cygwin启动IDLE
,我收到了以下错误:
Traceback (most recent call last):
File "/usr/bin/idle", line 5, in <module>
main()
File "/usr/lib/python2.7/idlelib/PyShell.py", line 1537, in main
root = Tk(className="Idle")
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1764, 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
文件idle.bat
启动cygstart idle.bat
。
我搜索了这个错误的解释,却找不到。我还在cygwin中添加了IDLE
作为环境变量。当我printenv
时,它显示为环境变量。为了防止出现问题,我尝试了两个环境变量:
idle=C:\Python27\Lib\idlelib\idle.bat
PATH = cygdrive/c/Python27/Lib/idlelib
我也安装了cygwin IDLE
包。
可能是什么问题?
答案 0 :(得分:4)
尝试设置DISPLAY环境变量
export DISPLAY =:0.0
并确保您运行的是cygwin-x服务器(即Xwin服务器)
您可以将导出添加到.bash_rc文件中,以便每次启动cygwin时都设置该导出。
答案 1 :(得分:0)
chaps提供的答案完全解决了我的问题。 (我在Windows 10上。)我使用Cygwin安装程序(“从Internet安装”选项)通过从顶部的下拉菜单中选择“完全”(而不是默认的“挂起”)选项来更新现有的Cygwin安装。 Cygwin安装程序的左侧,仅安装软件包xorg-server,xinit,xorg-docs和xlaunch。 (我对任何远程功能都不感兴趣,仅对将tkinter与python3一起使用来执行诸如显示文件对话框控件之类的事情。)我在任务栏中添加了xlaunch的快捷方式,并使用其默认设置启动了它,然后添加了export DISPLAY =:0.0在我的环境中运行tkinter测试套件。效果很好。