Ответ 1
Это просто.
Для python2 это:
from Tkinter import *
Для python3 это:
from Tkinter import *
Вот как вы можете забыть об этой путанице раз и навсегда:
try:
from Tkinter import *
except ImportError:
from tkinter import *
Когда я отвечаю на вопросы 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
?
Это просто.
Для python2 это:
from Tkinter import *
Для python3 это:
from Tkinter import *
Вот как вы можете забыть об этой путанице раз и навсегда:
try:
from Tkinter import *
except ImportError:
from tkinter import *
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
Заглавная информация о виджетах Tkinter и tkinter, методах и именах опций существенно различается по всем направлениям. В некоторых случаях имена сами по себе различны. Некоторые функции Tkinter не существуют в tkinter и наоборот. Но, как уже было сказано, основное отличие заключается в том, что Tkinter является модулем в Python 2x, а tkinter - модулем в Python 3x.
Это просто, что в 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 в качестве тк
Python 2 всегда использовал from Tkinter import *
но python 3 использует from Tkinter import *
Я нахожу эту глупость и, к сожалению, это путает много людей.
Если вы используете python 2:
from Tkinter import *
и для python 3 do:
from Tkinter import *
В противном случае попробуйте
try:
from Tkinter import *
except ImportError:
from tkinter import *
Это должно сработать!
Согласно официальной документации, "Tkinter был переименован в tkinter в Python 3". В Python2 вы используете import Tkinter
или чаще from Tkinter import *
где "*" означает "все". В Python3 вы используете import tkinter
или from tkinter import *
.
Используйте "import Tkinter" в Python 2 и используйте "import tkinter" в Python 3.
try:
import tkinter
print"importing tkinter from python 3.x"
except:
import Tkinter
print"importing Tkinter from python 2.x"
finally:
print"Difference !"
python2:
from Tkinter import *
python3:
from tkinter import *
Tkinter
- графический модуль для Python 2.x. Тем не менее, tkinter
является модулем для Python 3.x.