如何在wsl上修复python3.8中的tkinter?
问题:如何在wsl上修复python3.8中的tkinter?
我正在尝试学习基于 GUI 的 python,因此我使用的是 Tkinter 库。我的操作系统是 windows,但我安装了 Ubuntu wsl 作为我的默认终端,并使用 wsl vscode 作为我的默认文本编辑器。我只是使用此示例代码创建一个基本窗口来检查它是否有效:
from Tkinter import *
def onclick():
pass
root = Tk()
text = Text(root)
text.insert(INSERT, "Hello.....")
text.insert(END, "Bye Bye.....")
text.pack()
text.tag_add("here", "1.0", "1.4")
text.tag_add("start", "1.8", "1.13")
text.tag_config("here", background="yellow", foreground="blue")
text.tag_config("start", background="black", foreground="green")
root.mainloop()
原来它不适用于python3.8。终端错误信息查了很多资源和论坛,没有找到合适的解决办法。以下是我提到的几个链接:https://realpython.com/python-gui-tkinter/https://tkdocs.com/tutorial/install.htmlhttps://askubuntu。 com/questions/1224230/how-to-install-tkinter-for-python-3-8。我发现的一个解决方法是安装了使用 python3.7 并使用 windows 终端的 anaconda(使用 pycharm 而不是 vscode)。看起来它运行正常。GUI with python3.7
问题是.. 我喜欢 wsl 和 vscode 比 windows 命令行好得多,我想恢复到它。有什么解决办法吗?我真的不想在这条路上胡闹太多,因为我以前有过糟糕的经历(但如果它能够解决我的问题,我愿意再做一次)。谢谢你听我说完。
解答
问题不在于 Python,而在于 WSL。您无法在 WSL 中轻松运行任何图形化的东西。 (微软计划添加该功能,但尚未准备好。有第三方解决方案,但设置起来并不容易。)
最简单的解决方案是使用 Windows 安装的 Python 3.8 来运行您的 tkinter 应用程序。您仍然可以从 Ubuntu WSL 内部调用它,就像任何 Windows 可执行文件一样。
更多推荐
所有评论(0)