【问题标题】:ImportError: No module named 'Tkinter'ImportError:没有名为“Tkinter”的模块
【发布时间】:2023-09-15 07:54:01
【问题描述】:

由于某种原因,我无法使用 Tkintertkinter 模块。 在 python shell 中运行以下命令后

import Tkinter

import tkinter

我收到了这个错误

ModuleNotFoundError: 没有名为“Tkinter”的模块

ModuleNotFoundError: 没有名为“tkinter”的模块

可能是什么原因,我们该如何解决?

【问题讨论】:

    标签: python tkinter


    【解决方案1】:

    您可能需要使用类似于以下内容的方式安装它:

    • 对于带有 Apt 的 Ubuntu 或其他发行版:

      sudo apt-get install python3-tk
      
    • 对于 Fedora:

      sudo dnf install python3-tkinter
      

    您也可以像这样提及 Python 版本号:

    • sudo apt-get install python3.7-tk
      
    • sudo dnf install python3-tkinter-3.6.6-1.fc28.x86_64
      

    最后导入tkinter(适用于Python 3)或Tkinter(适用于Python 2),或者在运行时根据Python解释器的版本号进行选择(兼容两者):

    import sys
    if sys.version_info[0] == 3:
        import tkinter as tk
    else:
        import Tkinter as tk
    

    【讨论】:

    • 是大小写的变化(Tkinter 到 tkinter)让我着迷 - 现在每个人都需要更新他们所有的示例代码 :)
    • 如果是standard python interface为什么还要安装?
    【解决方案2】:

    当您使用 Python 3 时,该模块已重命名为 tkinter,如 documentation 中所述:

    注意 Tkinter 在 Python 3 中已重命名为 tkinter。2to3 工具 将您的源转换为 Python 3。

    【讨论】:

      【解决方案3】:

      对于 Windows 10,检查 Python 安装可选功能“tcl/tk 和 IDLE”非常重要。否则你会得到一个 ModuleNotFoundError: No module named 'tkinter'。就我而言,在 Python 安装后无法使用“pip install tkinter”之类的方式安装 tkinter

      【讨论】:

      • 你说得对,Python“可嵌入zip文件”不包含tk,我们应该下载“可执行安装程序”,不要忘记选择选项“tcl/tk and IDLE”跨度>
      • 您可以修改python安装,再次启动python安装程序并选择“修改”。此时您可以选中“tcl/tk and IDLE”复选框并获取您需要的模块。
      【解决方案4】:

      如果您在 Mac 上使用 python 3.9,您可以简单地使用 brew 安装 tkinter

      brew install python-tk@3.9
      

      这为我解决了问题。

      【讨论】:

        【解决方案5】:

        您可能需要为您的特定版本安装,我知道当我使用多个版本的 python 时需要安装它,而 virtualenv 中的一个版本使用例如 python 3.7 没有导入 tkinter 我必须安装它专门针对那个版本。

        例如

        sudo apt-get install python3.7-tk 
        

        不知道为什么——但这已经发生了。

        【讨论】:

          【解决方案6】:

          对于 Windows 10 使用 VSCode 或 PyCharm 和 Python 3.7.4 - 确保在安装中勾选 Tk。我尝试了 import tkinter as xyz 与上/下 tk 以及 所有变体 没有运气。

          有效的是:

          import tkinter
          import _tkinter
          tkinter._test()
          

          一个实例:

          import tkinter
          import _tkinter
          
          HEIGHT = 700
          WIDTH = 800
          
          root = tkinter.Tk()
          
          canvas = tkinter.Canvas(root, height = HEIGHT, width=WIDTH)
          canvas.pack()
          
          frame = tkinter.Frame(root, bg='red')
          frame.pack()
          
          root.mainloop()
          

          【讨论】:

          • 我认为直接导入_tkinter 没有任何效果。 tkinter 会自动导入。
          • @BryanOakley 我认为这没有任何影响。我可以发誓这是解决了任何问题,而且至少还有其他 5 个问题。那一定是个bug。
          • 为什么需要导入 _tkinter?这解决了什么问题?这个问题是如何解决的?编程应该是确定性的,而不是随机尝试的事情。在 Ubuntu 20.04 上,我可以删除这一行并且脚本工作。
          • 这可能值得提出一个新问题。这是特定于 Windows 10 的,虽然 python 是 x 平台,但它不是无缝的。
          【解决方案7】:

          使用命令python --version检查你安装的python版本

          通过以下代码检查是否正确安装了 Tk 模块

          sudo apt-get install python3-tk 
          

          然后检查你是否使用开源操作系统

          检查以下路径中的 tkinter 模块 /home/python/site-packages/tkinter 相应地更改您的系统的路径

          【讨论】:

            【解决方案8】:

            确保在运行 Python 代码时它位于 python3 上下文中。我有同样的问题,我所要做的就是输入命令:

            sudo python3 REPLACE.py
            

            sudo python REPLACE.py
            

            后面的代码不正确,因为 tkinter 在 python1 或 python2 中显然不可用。

            【讨论】:

            • 你为什么用 sudo 运行? Python 不需要它。
            • Python 没有,但如果您使用的是 linux 并且将 python 文件放在受限部分中,它会有所帮助。
            【解决方案9】:

            在 CentOS7 上,要让它与 Python2 一起使用,我必须这样做:

            yum -y install tkinter
            

            在这里注意到这一点是因为我认为会有一个 pip 包,但实际上需要安装一个 rpm。

            【讨论】:

              【解决方案10】:

              安装 Tkinter

              python -m pip install tk-tools
              

              sudo apt install python3-tk
              

              【讨论】:

              • 没有一个 pip 命令对我有用(在 python 3.8 virtualenv 中)。所有的工作都是恰当的。
              • 我很困惑为什么这里的多个答案建议使用pip 来安装依赖 内置tkinter 模块的任意PyPI 模块(如tk-tools这里,或tkintertable 在下面的答案中)作为内置tkinter 模块不可用的解决方案。这似乎不太可能有帮助,即使它确实有效,这也是一个非常丑陋的解决方案,因为您安装了您可能不想要的任意第三方模块。
              【解决方案11】:

              您只需要安装它并像这样将它们导入您的项目:

              此代码导入命令行:

              sudo apt-get install python3-tk 
              

              在导入 tkinter 你的项目之后:

              from tkinter import *
              

              【讨论】:

              【解决方案12】:

              tkinter自带python...卸载python,重新安装,大功告成

              【讨论】:

                【解决方案13】:

                如果它在pycharm中不起作用,您可以通过在+button python-tkinter中搜索并下载它来将模块添加到项目解释器中。

                【讨论】:

                  【解决方案14】:

                  Tkinter 应该带有最新的 Python,我不认为它带有 Python2。我有同样的问题,但一次。我升级到 Python 3.8 安装了 Tkinter。

                  【讨论】:

                    【解决方案15】:

                    我们可以使用两种方法来导入库

                    1. import library合作
                    2. from library import *合作

                    您可以使用以下方式加载 tkinter:

                    1. from tkinter import*

                    2. import tkinter

                    【讨论】:

                      【解决方案16】:

                      您可以使用 PIP 包管理器在任何平台(Mac、Linux、Windows)上安装 Tkinter:

                      pip install tkintertable
                      

                      pip 安装 (LINUX)

                      在 Ubuntu、Debian 和 Linux Mint 上安装 pip:

                      sudo apt install python3-pip    #command for Python 3
                      

                      在 Fedora 上安装 pip:

                      sudo dnf install python3        #command for Python 3
                      

                      在 CentOS 6 和 7 以及旧版本的 Red Hat 上安装 pip:

                      sudo yum install epel-release
                      
                      sudo yum install python-pip
                      

                      在 Arch Linux 和 Manjaro 上安装 pip:

                      sudo pacman -S python-pip       #command for Python 3
                      

                      在 OpenSUSE 上安装 pip:

                      sudo zypper install python3-pip #command for Python 3
                      

                      【讨论】:

                      • -1; tkintertable 和内置的 tkinter 模块不是一回事。
                      • 静止:import _tkinter # If this fails your Python may not be configured for Tk ModuleNotFoundError: No module named '_tkinter'
                      【解决方案17】:

                      检查 apt 的任务,它可能被标记为已删除

                      sudo apt autoremove
                      

                      然后检查并安装需要

                      【讨论】:

                        【解决方案18】:

                        我在 PyCharm 中解决了我的问题,请执行以下操作

                        1. https://www.python.org/安装Python解释器
                        2. PyCharm > 首选项 > Python 解释器 > 添加
                        3. 选择安装的解释器
                        4. 在运行配置中选择新安装的解释器

                        我还做了视频说明https://youtu.be/awaURBnfwxk

                        【讨论】:

                          【解决方案19】:
                          $ sudo apt-get install python3.10-tk
                          

                          【讨论】:

                            【解决方案20】:

                            Mac 使用:

                            brew install python-tk

                            【讨论】:

                              【解决方案21】:

                              cmd - 终端

                              pip 安装 tkinter

                              【讨论】:

                                【解决方案22】:
                                try:
                                    # for Python2
                                    from Tkinter import *   ## notice capitalized T in Tkinter 
                                except ImportError:
                                    try:
                                        # for Python3
                                        from tkinter import *   ## notice lowercase 't' in tkinter here
                                    except:
                                        try:
                                            print "Download Tkinter" ##python 2
                                        except SyntaxError:
                                            print("Download Tkinter") ##python 3
                                

                                【讨论】:

                                  【解决方案23】:

                                  --------- 在 Python 2.7 上工作------------

                                  安装以下所有包

                                  sudo apt-get install git
                                  sudo apt-get install python-tk
                                  sudo apt-get install python-pip
                                  sudo apt install picolisp
                                  sudo -H pip2 install --upgrade pip
                                  sudo pip install -I pillow
                                  sudo apt-get install python-imaging-tk
                                  sudo apt-get install python-tk
                                  

                                  【讨论】:

                                  • 你为什么要安装gitPIL?另外,您为什么要安装另一种编程语言(picolisp)?顺便说一句,您正在安装 tkinter (sudo apt-get install python-tk) 两次。您可以将此答案缩短为:sudo pip install --upgrade pipsudo apt-get install python-tk
                                  【解决方案24】:

                                  首先你应该测试你的 python idle 看看你是否有 tkinter:

                                  import tkinter
                                  
                                  tkinter._test()
                                  

                                  尝试输入,复制粘贴不起作用。

                                  因此,在尝试了这些网站上推荐的所有方法 20 小时后,发现您不能使用“tkinter.py”或任何其他包含“tkinter..etc.py”的文件名。如果你有同样的问题,只需更改文件名即可。

                                  【讨论】: