“没有名为tkinter的模块,”但在终端中可以工作(Ubuntu的VSCode)
我刚开始学习怎么创建图形用户界面(GUI)。我按照指示安装了tkinter,然后写了以下代码:
import tkinter as tk
def openWindow():
root = tk.Tk()
title = tk.Label(text="PyCalc")
title.pack()
root.mainloop()
在我的主方法中调用这个函数后,我立刻遇到了这个错误:
ModuleNotFoundError: No module named 'tkinter'
我试着查找解决办法,但大多数回答都不是我想要的。大多数人只是问:“你试过安装tkinter吗?”(我已经安装过几次,甚至卸载再重新安装过几次,想搞定它),或者问:“在终端里能用吗?”(可以的)。我在使用Ubuntu,如果这有帮助的话,我是通过 sudo apt install python3-tk
来安装tkinter的。
有一个解决方案让我把代码改成了这样:
from tkinter import *
from tkinter import ttk
def openWindow():
root = Tk()
title = Label(text="PyCalc")
title.pack()
root.mainloop()
...但还是不行。错误信息没变,还是那个。
最后一个解决方案是我想尝试的,但老实说我不太明白。有人在StackOverflow上说这是解释器的问题,解释器需要正确配置。我不知道应该选择哪个解释器,如果不是推荐的那个。我试了按ctrl+shift+P,结果看到一个有四个不同选项的解释器菜单,或者设置虚拟环境的选项。我试着调试了一些选项,但都没用。
我又试着重新安装tkinter,先卸载再重新安装,使用 sudo apt install python-tk
而不是 python3-tk
,在终端里可以用,但在VSCode里调用时不行。我以前从来没有遇到过这个问题。
1 个回答
如果你是通过 snap
或 flatpak
安装的 vscode,可能会遇到一些问题。为了避免这些问题,建议你按照下面的步骤重新安装 vscode。如果你没有卸载之前安装的版本,程序列表中会出现两个快捷方式图标。记得用新安装的那个来打开 vscode。
更新:
sudo apt update
安装所需的包依赖
sudo apt install software-properties-common apt-transport-https wget -y
添加 GPG 密钥
wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add -
添加软件源
sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
安装 vscode
sudo apt install code
请在评论中确认一下,按照这个方法操作后你的问题是否解决了。我会关注这个讨论。