为啥 python 编译器在 tkinder 模块中给我一个错误? [复制]
Posted
技术标签:
【中文标题】为啥 python 编译器在 tkinder 模块中给我一个错误? [复制]【英文标题】:Why python compiler gives me an error in tkinder module? [duplicate]为什么 python 编译器在 tkinder 模块中给我一个错误? [复制] 【发布时间】:2020-06-18 01:23:33 【问题描述】:这是一个示例代码:
from tkinter import *
root = Tk()
my_label = Label(root, text="Hello World")
my_laber.pack()
root.mainloop()
这在我的终端上不起作用:Ubuntu (18.04):
Traceback (most recent call last):
File "hello_world.py", line 3, in <module>
root = Tk() #Setting the windown, to do first.
File "/usr/lib/python3.6/tkinter/__init__.py", line 2023, in __init__
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable
我该如何解决?
Python 版本
Python 3.6.9 (default, Nov 7 2019, 10:44:02)
[GCC 8.3.0] on linux
【问题讨论】:
这能回答你的问题吗? _tkinter.TclError: no display name and no $DISPLAY environment variable; ***.com/questions/56273204/…; ***.com/questions/48254530/… 【参考方案1】:您可以通过检查是否有分配给环境变量DISPLAY
的值并在返回的字符串为空时分配它来解决此问题:
from tkinter import *
import os
if os.environ.get('DISPLAY', '') == '':
print('no display found. Using :0')
os.environ['DISPLAY'] = ':0'
root = Tk()
my_label = Label(root, text="Hello World")
my_label.pack() # watch out here - you have a typo in your code
root.mainloop()
您可以在this 中找到有关分配给DISPLAY
的号码的更多信息ask ubuntu 答案。
【讨论】:
以上是关于为啥 python 编译器在 tkinder 模块中给我一个错误? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
python setuptools 为啥安装模块安装不上是我本来setuptools就安装失败了么