错误信息是:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.8/tkinter/__init__.py", line 2261, in __init__
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable
答案1
WSL2 的最新版本内置了对 Linux 上 GUI 应用程序的支持。
来自官方文档
现有的 WSL 安装
如果您的计算机上已安装 WSL,则可以通过从提升的命令提示符运行更新命令来更新到包含 Linux GUI 支持的最新版本。
选择“开始”,键入 PowerShell,右键单击“Windows PowerShell”,然后选择“以管理员身份运行”。
输入WSL更新命令:
wsl --update
您需要重新启动 WSL 才能使更新生效。您可以通过在 PowerShell 中运行关机命令来重新启动 WSL。
wsl --shutdown
答案2
对我有用的解决方案是export DISPLAY=:0
,或者export DISPLAY=:0.0
也可能有效。如果其中任何一个有效,请将它们添加到 ~/.profile 以使其持久。