【问题标题】:Python 3.5 CentOS - Tkinter ImportError: No module named 'Tkinter'Python 3.5 CentOS - Tkinter ImportError:没有名为“Tkinter”的模块
【发布时间】:2016-12-29 09:12:07
【问题描述】:

我以前在 CentOS 上,但不得不换到 Ubuntu。

我最近安装了 Python 3.5 并按照此处的说明进行操作:https://passingcuriosity.com/2015/installing-python-from-source/

我正在尝试编写一个简单的 GUI,但它说模块 Tkinter 没有加载。以下是来自我的终端的一些信息:

adminJerry@admin:~/Desktop$ python -m tkinter

/usr/local/bin/python3:查找“tkinter.ma​​in”规范时出错(:没有名为“_tkinter”的模块); 'tkinter' 是一个包,不能直接执行

-

adminJerry@admin:~/Desktop$ from tkinter import *

来自:无法读取 /var/mail/tkinter

我在 Python 脚本中的代码主要是这样的:

import Tkinter

*** Various labels and buttons made only to test it out ***

当我运行我的脚本时:

adminJerry@admin:~/Desktop$ python test.py

Traceback(最近一次调用最后一次): 文件“test.py”,第 3 行,在 导入 Tkinter ImportError:没有名为“Tkinter”的模块

编辑:重新安装 Ubuntu 解决了我的问题。

【问题讨论】:

  • 为什么要从源代码安装它?它预装在 Ubuntu 上,即使没有 - 它也可以作为 .deb 包使用。从源代码安装不是一个好主意,因为它会破坏依赖关系,并且在您的情况下,似乎 tk lib 的某些依赖关系已被破坏。无论如何,包在python 2.x中称为Tkinter,在3.x中称为tkinter,尝试在import中替换
  • @thodnev 我是从源代码安装的,因为起初我什至不知道 Ubuntu 预装了 Python。我看到 Python 2.7 和 3.5,但我认为只有已经安装,而不是 3.5。你有修复的想法吗?我必须简单地重新安装 Ubuntu,还是只删除 Python 3.5 的所有文件?谢谢
  • 重新安装 Ubuntu 将是最干净的方法。
  • @JohnDoe 取决于您在自定义操作系统上花费了多少时间。我认为从包中重新安装 python 就足够了,但是,它可能会在您的系统中留下一些垃圾。正如阿尔伯特所说,100% 的方法是重新安装 Ubuntu

标签: python-3.x tkinter


【解决方案1】:

在 python 3 中,它被重命名为 tkinter。它不再命名为 Tkinter。

【讨论】:

  • 感谢您的帮助,但如果您查看问题的底部,他用粗体表示他已经解决了它,并且他所做的工作有效:/
【解决方案2】:

继续python的shell并输入:import tkinter并按回车然后输入tkinter,如果你正确安装了.output应该是库的位置。 如果输出是 erorr .in windows,请在 cmd 上键入:pip install tkinter 或 pip install Tkinter。 希望对你有所帮助。 (不知道你用的是什么平台)

【讨论】:

    【解决方案3】:

    错误是您在 tkinter 中使用了大写的“T”,请尝试:

    from tkinter import *
    Button(gui, text='HELLO WORLD', fg='#F08080', font = ("Courier", 15, 'bold'))
    

    这应该可行,希望你觉得这很有用。

    【讨论】:

      【解决方案4】:

      您使用的是 python3。所以,

      import tkinter
      

      如果你使用的是python2,那么:

      import Tkinter
      

      【讨论】:

        【解决方案5】:

        您可以尝试多种解决方案来解决您的问题。

        1.使用:

        import tkinter
        

        从 Python 3.0 开始,Tkinter 已重命名为 tkinter。在 Python 2.7 中,它是用大写字母导入的。使用它时,您可能希望使 tkinter 成为另一个命名空间,因为它会节省时间。例如:

        import tkinter as tk
        
        test = tk.Button(label="Hello World!")
        

        代替:

        import tkinter
        
        test = tkinter.Button(label="Hello World!")
        

        2.使用:

        from tkinter import *
        

        这将导入 tkinter 中的所有内容。没有指定要导入的内容。使用它时,请记住,当您实例化小部件时,您使用:

        [variable name] = [widget name]([widget args])
        

        一个例子是:

        test = Button(label="Hello World!")
        

        3.再次安装Python

        探索使用安装程序(无论如何在 Windows 上)或使用包管理器重新安装 Python 的想法。您似乎已经安装了导致删除一些模块的源代码。

        您似乎还安装了核心 Ubuntu。这可能排除了导致您安装源的 Python。如果可以,请尝试安装完整的 Ubuntu。可以here下载。

        请注意,我已尽力解释所有内容,但有些信息可能不正确。如果您发现此类错误,请随时与我联系。

        【讨论】:

        • 第二点有效,但由于命名空间污染/名称冲突,不推荐使用。如果只是缺少一些包裹,也不需要装满。
        【解决方案6】:

        尝试输入import tkinterfrom tkinter import * 而不是import Tkinter

        【讨论】:

          猜你喜欢
          • 2017-07-15
          • 2015-08-13
          • 2019-02-06
          • 1970-01-01
          • 2013-05-30
          • 2017-12-20
          • 2013-01-13
          相关资源
          最近更新 更多