当我回答Tkinter问题时,我通常会尝试自己运行代码,但有时我会收到此错误:
Traceback (most recent call last):
File "C:\Python27\pygame2.py", line 1, in <module>
from tkinter import *
ImportError: No module named tkinter
当我看到问题时,我看到他们用小写t导入tkinter
:
from tkinter import *
我总是使用大写字母T:
导入Tkinter
from Tkinter import *
这对我来说总是有用的。使用tkinter
和Tkinter
有什么区别?
答案 0 :(得分:43)
这很简单。
对于python2,它是:
from Tkinter import *
对于python3,它是:
from tkinter import *
这就是你怎么能一劳永逸地忘记这种混乱的方式:
try:
from Tkinter import *
except ImportError:
from tkinter import *
答案 1 :(得分:12)
Tkinter
是Python 2.x的Tkinter库名称。但是,在Python 3.x中,名称已更改为tkinter
。为避免遇到此问题,我通常会这样做:
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
答案 2 :(得分:3)
Tkinter和tkinter小部件,方法和选项名称的大写是全面显着不同的。在某些情况下,名称本身是不同的。 Tkinter的某些功能在tkinter中不存在,反之亦然。但是,如前所述,主要区别在于Tkinter是Python 2x中的模块,而tkinter是Python 3x中的模块。
答案 3 :(得分:1)
只是在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
答案 4 :(得分:1)
在python 2中,它是:
from Tkinter import *
在python 3中,它是:
from tkinter import *
如果您想使代码在两个版本中都能工作,请执行以下操作:
try:
from Tkinter import *
except:
from tkinter import *
答案 5 :(得分:0)
Python 2一直使用from Tkinter import *
但python 3使用from tkinter import *
我发现这很愚蠢,不幸的是,它让很多人感到困惑。
答案 6 :(得分:0)
根据the official documentation,&#34; Tkinter已在Python 3&#34;中重命名为tkinter。在Python2中,您使用from Tkinter import *
或更频繁import tkinter
其中&#34; *&#34;意味着&#34;所有&#34;。在Python3中,您使用from tkinter import *
或{{1}}。
答案 7 :(得分:0)
我有一个脚本,它有不同的 Python 2.* Tkinter 导入,所以浏览了一个,但我看到答案都是分散的。这里有一个小总结,其中包含使用两个 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: No module named 'Tkinter'
ModuleNotFoundError: No module named 'tkMessageBox'
ModuleNotFoundError: No module named 'ScrolledText'
ModuleNotFoundError: No module named 'tkFileDialog'
答案 8 :(得分:-1)
在Python 2中使用“import Tkinter”并在Python 3中使用“import tkinter”。
答案 9 :(得分:-1)
try:
import tkinter
print"importing tkinter from python 3.x"
except:
import Tkinter
print"importing Tkinter from python 2.x"
finally:
print"Difference !"
答案 10 :(得分:-1)
Python2:
continue
Python3:
from Tkinter import *
答案 11 :(得分:-1)
确实没有区别。只是您的计算机类型和Python版本之间的区别。