[PYTHON] 파이썬에서 Tkinter를 가져올 때 ImportError [duplicate]
PYTHON파이썬에서 Tkinter를 가져올 때 ImportError [duplicate]
파이썬 3.2 표준 라이브러리 Tkinter 사용하여 GUI 코드를 테스트하려면 노력하고있어.하지만 라이브러리를 가져올 수 없습니다.
이것은 내 테스트 코드입니다.
from Tkinter import *
root = Tk()
w = Label(root, text="Hello, world!")
w.pack()
root.mainloop()
셸이이 오류를보고합니다.
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
from Tkinter import *
ImportError: No module named Tkinter
해결법
-
==============================
1.문제의 근원은 파이썬 2.x에서는 Tkinter 모듈의 이름이 Tkinter (대문자 "T")이고 파이썬 3.x에서는 tkinter (소문자 "t")입니다.
문제의 근원은 파이썬 2.x에서는 Tkinter 모듈의 이름이 Tkinter (대문자 "T")이고 파이썬 3.x에서는 tkinter (소문자 "t")입니다.
파이썬 2와 3에서 코드를 작동 시키려면 다음과 같이하면됩니다 :
try: # for Python2 from Tkinter import * except ImportError: # for Python3 from tkinter import *
그러나 PEP8에서는 와일드 카드 가져 오기에 대해 다음과 같이 말합니다.
PEP8을 무시하는 수많은 튜토리얼에도 불구하고, PEP8 호환 방법은 다음과 같은 방법으로 가져올 수 있습니다.
import tkinter as tk
이런 식으로 가져올 때 모든 tkinter 명령에 tk를 접두어로 사용해야합니다. (예 : root = tk.Tk () 등). 이렇게하면 코드를 더 쉽게 이해할 수 있습니다. tkinter와 ttk가 함께 사용되며 동일한 이름의 클래스를 가져 오는 경우 이것이 좋은 것입니다. 파이썬의 선 (Zen)은 다음과 같이 말합니다. "명시 적 (explicit)은 함축적입니다".
참고 : tk 부분은 선택적이지만 tk.Button (...) vs tkinter.Button (...)과 같이 타이핑 할 필요가 없습니다.
-
==============================
2.이 모듈은 3.x에서 Tkinter가 아니라 tkinter라고 부릅니다.
이 모듈은 3.x에서 Tkinter가 아니라 tkinter라고 부릅니다.
-
==============================
3.Tkinter를 3.x에서 tkinter (소문자)로 사용하여 다음과 같이 코드를 다시 작성하십시오.
Tkinter를 3.x에서 tkinter (소문자)로 사용하여 다음과 같이 코드를 다시 작성하십시오.
from tkinter import * root = Tk() w = Label(root, text="Hello, world!") w.pack() root.mainloop()
from https://stackoverflow.com/questions/7498658/importerror-when-importing-tkinter-in-python by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] Python 다중 처리에서 Pool.map을 Array (공유 메모리)와 결합하는 방법은 무엇입니까? (0) | 2018.10.05 |
---|---|
[PYTHON] IF의 등가물 다음에 ELSE (0) | 2018.10.05 |
[PYTHON] numpy.float128의 내부 정밀도는 무엇입니까? (0) | 2018.10.05 |
[PYTHON] Pandas to_html ()은 문자열 내용을 자릅니다. (0) | 2018.10.05 |
[PYTHON] OS X에서의 Python 및 OpenSSL 버전 참조 문제 (0) | 2018.10.05 |