【问题标题】:Tkinter module not found on Ubuntu在 Ubuntu 上找不到 Tkinter 模块
【发布时间】:2011-08-30 09:02:09
【问题描述】:
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24) 
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter
>>> 

另一方面...

Python 3.2 (r32:88445, Mar 25 2011, 19:28:28) 
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named Tkinter 

我检查了突触,Tkinter 已安装。然后我发现了这个--

如果失败并显示“没有名为 _tkinter 的模块”,则需要修改 Python 配置以包含此模块(这是用 C 实现的扩展模块)。不要编辑模块/设置(它已过时)。您可能必须安装 Tcl 和 Tk(使用 RPM 时,还要安装 -devel RPM)和/或编辑 setup.py 脚本以指向安装 Tcl/Tk 的正确位置。如果您在默认位置安装 Tcl/Tk,只需重新运行“make”即可构建 _tkinter 扩展。

我猜 tkinter 仍然与我电脑中的旧 python 相关联。如何更改它以便 python3 可以使用 tkinter?

【问题讨论】:

  • "sudo apt-get install python3-tk" 为 Python3+ 安装 tkinter

标签: python-3.x tkinter


【解决方案1】:

在 Ubuntu 中对我有用的实际上只是:

sudo apt-get install python3-tk

对于 python 3.6:

sudo apt-get install python3.6-tk

我没有在任何地方阅读,我只是尝试了一下,因为 onteria_ 的方法似乎对我不起作用。

【讨论】:

  • 我确实需要这个包,但请记住,Tkinter 的名称现在在 Python3 中为 tkinter,因此其他答案仍然相关。
  • 第一个命令我连接失败,第二个可以正常工作
  • 我不知道发生了什么,sudo apt-get install python3-tk 对我不起作用(tkinter 仍未找到),但通过突触安装 python3-tk 确实有效。 (带有 python 3.6 的 Ubuntu 16.04)
【解决方案2】:

你的问题的答案是Tkinter在python3中被重命名为tkinter

小写的t

【讨论】:

    【解决方案3】:

    在 python 3 中 Tkinter 重命名为 tkinter

    【讨论】:

    • 这是问题的答案。 PS:如果您使用 shebang 运行脚本,请不要忘记使用“#!/usr/bin/python3”。例如,在 Ubuntu 12.04 上,Python 的默认版本是 2.7.3,因此“Tkinter”将与“#!/usr/bin/python”一起使用,但不适用于 Python 3。
    • 第二个是这个问题最好最简单的答案
    【解决方案4】:
    sudo apt-get install python3-tk
    

    【讨论】:

      【解决方案5】:

      使用以下命令:

      sudo apt-get install python3-tk
      

      以下命令不起作用:

      sudo apt-get install python3-tkinter
      sudo apt-get install python3-Tkinter
      pip3 install Tkinter
      pip3 install tkinter
      

      【讨论】:

        【解决方案6】:

        既然你提到了突触,我想你是在 Ubuntu 上。您可能需要运行 update-python-modules 来更新 Python 3 的 Tkinter 模块。

        编辑:运行 update-python-modules

        首先,确保您已安装 python-support

        sudo apt-get install python-support
        

        然后,使用 -a 选项运行 update-python-modules 以重建所有模块:

        sudo update-python-modules -a
        

        但我不能保证你的所有模块都会构建,因为 Python 2 和 Python 3 之间有一些 API 变化。

        【讨论】:

        • "sudo apt-get install python-support" 导致以下错误 "E: Package 'python-support' has no installation Candidate"
        • 我也遇到了与@jason E: Package 'python-support' has no installation candidate 相同的错误,尽管我是从 docker(张量流图像)运行它。有人知道怎么解决吗?
        • @CharlieParker 在 Ubuntu 16.04 LTS 上,我可以通过 apt-get install python3-tk 解决这个问题
        • 对于那些使用E: Package 'X' has no installation candidate 的人,您应该先运行sudo apt-get update
        • 有没有办法我也可以在 gitpod 中做到这一点?它不允许我使用 sudo,也不允许我没有它
        【解决方案7】:

        如果您将 Ubuntu 18.04 与 Python 3.6 一起使用,那么 pip 或 pip3 将无济于事。您需要使用以下命令安装tkinter

        sudo apt-get install python3-tk
        

        【讨论】:

          【解决方案8】:

          这对我有用:

          from tkinter import *
          root = Tk()
          l = Label(root, text="Does it work")
          l.pack()
          

          【讨论】:

            【解决方案9】:

            我遇到了同样的问题。我尝试使用:

            sudo apt-get install python3-tk
            

            它给出了一个错误,指出 blt(>=2.4z-7) 不存在且不可安装。

            我去了here 并手动安装了它。 (适用于 Ubuntu 14.04)

            然后我再次使用 apt 并且它起作用了。

            我的结论是 Ubuntu 中的 python3.4 没有附带进行安装所需的 .so 文件。并且需要blt才能下载。

            【讨论】:

              【解决方案10】:

              为 CentOs 7 (python 3.6.x) 添加解决方案

              yum install python36-tkinter
              

              我尝试了所有可能的版本,希望这对其他人有所帮助。

              【讨论】:

                【解决方案11】:

                我发现这是在寻找 python 3.5 的修复程序。

                就我而言,我是从源代码构建 python,这是我为帮助修复所做的:

                添加 tkinter 头文件并重建 python

                sudo apt-get install tk8.6-dev
                sudo make
                

                【讨论】:

                  【解决方案12】:

                  Fedora 21 上添加我遇到的python 3.4 的解决方案。希望这对面临类似问题的人有所帮助。

                  这些命令中的任何一个都将安装tkinter

                  sudo yum install python3-tkinter
                  OR
                  sudo dnf install python3-tkinter
                  

                  【讨论】:

                    【解决方案13】:

                    对 tkinter 的要求:

                    python 3.6+

                    然后转到 shell 编写如下测试代码:

                    从 tkinter 导入 *

                    root = Tk()

                    root.mainloop()

                    【讨论】:

                      猜你喜欢
                      • 2021-03-17
                      • 2014-07-21
                      • 1970-01-01
                      • 1970-01-01
                      • 2021-06-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      相关资源
                      最近更新 更多