34

当我回答 Tkinter 问题时,我通常会尝试自己运行代码,但有时我会收到此错误:

Traceback (most recent call last):
  File "C:\Python27\pygame2.py", line 1, in <module>
    from tkinter import *
ImportError: No module named tkinter

当我查看问题时,我看到它们tkinter以小写 t 导入:

from tkinter import *

Tkinter我总是用大写 T导入:

from Tkinter import *

这总是对我有用。使用tkinter和 和有什么不一样Tkinter

4

12 回答 12

56

这很简单。

对于 python2 它是:

from Tkinter import *

对于 python3 它是:

from tkinter import *

这是您如何一劳永逸地忘记这种混乱的方法:

try:
    from Tkinter import *
except ImportError:
    from tkinter import *
于 2013-07-24T19:55:00.397 回答
13

Tkinter is Python 2.x's name for the Tkinter library. In Python 3.x however, the name was changed to tkinter. To avoid running into this problem, I usually do this:

from sys import version_info
if version_info.major == 2:
    # We are using Python 2.x
    import Tkinter as tk
elif version_info.major == 3:
    # We are using Python 3.x
    import tkinter as tk
于 2013-07-24T20:22:11.693 回答
5

Tkinter 和 tkinter 小部件、方法和选项名称的大写完全不同。在某些情况下,名称本身是不同的。Tkinter 的某些功能在 tkinter 中不存在,反之亦然。但是,如前所述,主要区别在于 Tkinter 是 Python 2x 中的一个模块,而 tkinter 是 Python 3x 中的一个模块。

于 2016-04-21T04:40:48.507 回答
3

很简单,在 Python 3 中它是“tkinter”,而在 Python 2 中它是“Tkinter”:

#python 2
from Tkinter import *

#python 3
from tkinter import *

要使程序同时在 Python 2 和 Python 3 上运行,您可以使用:

try:
    import tkinter as tk
except:
    import Tkinter as tk

然后使用 Tkinter 模块作为 tk

于 2015-04-14T00:05:55.893 回答
2

根据官方文档,“Tkinter 在 Python 3 中已重命名为 tkinter”。在 Python2 中,您使用import Tkinter或更频繁地使用from Tkinter import *“*”表示“全部”。在 Python3 中,您使用import tkinteror from tkinter import *

于 2018-03-25T02:05:29.053 回答
1

在 python 2 中,它是:

from Tkinter import *

在 python 3 中,它是:

from tkinter import *

如果你想让你的代码在两个版本中都能工作,请执行以下操作:

try:
    from Tkinter import *
except:
    from tkinter import *
于 2020-01-03T18:27:10.057 回答
1

Python2:

from Tkinter import *

Python3:

from tkinter import *
于 2019-02-22T12:20:33.400 回答
1

Python 2 一直使用from Tkinter import * ,但 python 3 使用from tkinter import * 我觉得这很愚蠢,不幸的是它让很多人感到困惑。

于 2015-07-29T06:44:34.743 回答
0
try:
   import tkinter
   print"importing tkinter from python 3.x"
except:
   import Tkinter
   print"importing Tkinter from python 2.x"

finally:
   print"Difference !"
于 2018-02-26T10:20:24.840 回答
0

Tkinter 和 Python 2和 Python 3的 tkinter 之间的其他区别。 **

我有一个脚本,其中有不同的 Python 2.* Tkinter 导入,所以浏览了 a 但我看到答案都是零散的。这里有一个小摘要,其中包含使用两个 Python 版本的安全脚本。

try:
    import Tkinter as tk
    import tkMessageBox as tkm
    import ScrolledText as tkst
    from tkFileDialog import askopenfilename
except ImportError:
    import tkinter as tk
    import tkinter.messagebox as tkm
    import tkinter.scrolledtext as tkst
    from tkinter.filedialog import askopenfilename

ModuleNotFoundError 错误列表(运行 Python 3 时。)

ModuleNotFoundError: No module named 'Tkinter'
ModuleNotFoundError: No module named 'tkMessageBox'
ModuleNotFoundError: No module named 'ScrolledText'
ModuleNotFoundError: No module named 'tkFileDialog'
于 2021-06-20T16:50:34.493 回答
-1

唯一的区别是模块名称取决于 Python 的主要版本。在 Python 3 中它是tkinter,它曾经Tkinter在 Python 2 中。请记住,与 Tkinter 相关的其他模块也被重命名。这是完整列表

文档

在 Python 3 中,Tkinter 已重命名为 tkinter。

为了向后兼容,最好像这样导入 tkinter 和您正在使用的相关模块:

try:
    import tkinter as tk
    from tkinter import messagebox
    from tkinter import filedialog
except ImportError:
    import Tkinter as tk
    import tkMessageBox as messagebox
    import tkFileDialog as filedialog
于 2017-09-23T17:26:18.880 回答
-1

对于蟒蛇 2:

from Tkinter import *

对于蟒蛇 3:

from tkinter import * 

否则,请尝试:

try:
    from Tkinter import *
except ImportError:
    from tkinter import *
于 2022-01-18T19:34:23.523 回答