“没有名为tkinter的模块,”但在终端中可以工作(Ubuntu的VSCode)

0 投票
1 回答
50 浏览
提问于 2025-04-14 16:29

我刚开始学习怎么创建图形用户界面(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 个回答

0

如果你是通过 snapflatpak 安装的 vscode,可能会遇到一些问题。为了避免这些问题,建议你按照下面的步骤重新安装 vscode。如果你没有卸载之前安装的版本,程序列表中会出现两个快捷方式图标。记得用新安装的那个来打开 vscode。

  1. 更新:

    sudo apt update
    
  2. 安装所需的包依赖

    sudo apt install software-properties-common apt-transport-https wget -y
    
  3. 添加 GPG 密钥

    wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add -
    
  4. 添加软件源

    sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
    
  5. 安装 vscode

    sudo apt install code
    

请在评论中确认一下,按照这个方法操作后你的问题是否解决了。我会关注这个讨论。

撰写回答