2013-07-24 49 views
17

Wenn ich Tkinter Fragen beantworten, die ich in der Regel versuchen, den Code selbst laufen, aber manchmal bekomme ich diesen Fehler:Unterschied zwischen tkinter und Tkinter

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

Wenn ich mir die Frage sehe ich sehen, dass sie importieren tkinter mit einem niedrigeren -case t:

from tkinter import * 

I Tkinter mit einem Kapital T immer importieren:

from Tkinter import * 

Was immer für mich funktioniert. Was ist der Unterschied zwischen der Verwendung von tkinter und Tkinter?

Antwort

31

Es ist einfach.

Für python2 es ist:

from Tkinter import * 

Für python3 es ist:

from tkinter import * 

Hier ist die Art und Weise, wie können Sie diesen Verwirrung vergessen ein für alle Mal: ​​

try: 
    from Tkinter import * 
except ImportError: 
    from tkinter import * 
+0

, die einfach war ich dank war ahah – Serial

+5

In beiden Fällen ich Weltimport empfehlen zu vermeiden. IMO ein viel besserer Weg ist "Import Tkinter as tk" oder "import tkinter as tk". –

11

Tkinter ist der Name von Python 2.x für die Tkinter-Bibliothek. In Python 3.x wurde der Name jedoch in tkinter geändert. Um zu vermeiden, in dieses Problem laufen, ich dies in der Regel tun:

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 
+9

In beiden Fällen empfehle ich, globale Importe zu vermeiden. IMO ein viel besserer Weg ist "Import Tkinter as tk" oder "import tkinter as tk". –

2

Es ist einfach, dass in Python 3 zum Thema "tkinter" und in Python 2 zum Thema "Tkinter" Fall:

#python 2 
from Tinter import * 

#python 3 
from tkinter import * 
0

Python 2 hat immer verwendet from Tkinter import * aber Python 3 verwendet from tkinter import * Ich finde das dumm und leider ist es eine Menge Leute verwirrend.

2

Die Groß-/Kleinschreibung von Tkinter- und tkinter-Widget-, Methoden- und Optionsnamen unterscheidet sich durchweg signifikant. In einigen Fällen sind die Namen selbst unterschiedlich. Einige Funktionen von Tkinter existieren nicht im Tkinter und umgekehrt. Wie bereits erwähnt, besteht der Hauptunterschied darin, dass Tkinter ein Modul in Python 2x ist, während tkinter ein Modul in Python 3x ist.

0

Use "import Tkinter" in Python 2 und verwenden Sie "Import tkinter" in Python 3.

-1
try: 
    import tkinter 
    print"importing tkinter from python 3.x" 
except: 
    import Tkinter 
    print"importing Tkinter from python 2.x" 

finally: 
    print"Difference !" 
+3

Sie sollten eine Beschreibung hinzufügen, wie Ihr Code zur Lösung des Problems beiträgt. – Tony

+1

ohne die Beschreibung wird es als niedrige Qualität markiert und kann gelöscht werden – Syfer

+0

Nicht zu erwähnen, dass das Ergebnis dieses Imports ohne weitere Prüfungen im Grunde nutzlos ist. –