你如何在 wsl 上修复 python3.8 中的 tkinter?
How do you fix tkinter in python3.8 on wsl?
我正在尝试学习基于 GUI 的 python 因此我使用了 Tkinter 库。我的 OS 是 windows 但我安装了 Ubuntu wsl 作为我的默认终端,并使用 wsl vscode 作为我的默认文本编辑器。
我只是创建一个基本的 window 使用此示例代码来检查它是否有效:
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。
Terminal error message
我查找了多个资源和论坛,但找不到任何合适的解决方案。这是我提到的几个链接:
https://realpython.com/python-gui-tkinter/ https://tkdocs.com/tutorial/install.html https://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 中轻松地使用任何图形。 (Microsoft 计划添加该功能,但尚未准备好。有第三方解决方案,但设置起来并不容易。)
最简单的解决方案是使用 Windows 安装 Python 3.8 到 运行 你的 tkinter 应用程序。您仍然可以从 Ubuntu WSL 内部调用它,就像任何 Windows 可执行文件一样。
我正在尝试学习基于 GUI 的 python 因此我使用了 Tkinter 库。我的 OS 是 windows 但我安装了 Ubuntu wsl 作为我的默认终端,并使用 wsl vscode 作为我的默认文本编辑器。 我只是创建一个基本的 window 使用此示例代码来检查它是否有效:
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。 Terminal error message 我查找了多个资源和论坛,但找不到任何合适的解决方案。这是我提到的几个链接: https://realpython.com/python-gui-tkinter/ https://tkdocs.com/tutorial/install.html https://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 中轻松地使用任何图形。 (Microsoft 计划添加该功能,但尚未准备好。有第三方解决方案,但设置起来并不容易。)
最简单的解决方案是使用 Windows 安装 Python 3.8 到 运行 你的 tkinter 应用程序。您仍然可以从 Ubuntu WSL 内部调用它,就像任何 Windows 可执行文件一样。