복붙노트

[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. ==============================

    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. ==============================

    2.이 모듈은 3.x에서 Tkinter가 아니라 tkinter라고 부릅니다.

    이 모듈은 3.x에서 Tkinter가 아니라 tkinter라고 부릅니다.

  3. ==============================

    3.Tkinter를 3.x에서 tkinter (소문자)로 사용하여 다음과 같이 코드를 다시 작성하십시오.

    Tkinter를 3.x에서 tkinter (소문자)로 사용하여 다음과 같이 코드를 다시 작성하십시오.

    from tkinter import *
    
    root = Tk()
    
    w = Label(root, text="Hello, world!")
    w.pack()
    
    root.mainloop()
    
  4. from https://stackoverflow.com/questions/7498658/importerror-when-importing-tkinter-in-python by cc-by-sa and MIT license