ImportError: Kein Modul mit dem Namen 'Tkinter'

206

Aus irgendeinem Grund kann ich das Modul Tkinteroder nicht verwenden tkinter. Nach dem Ausführen des folgenden Befehls in der Python-Shell

import Tkinter

oder

import tkinter

Ich habe diesen Fehler bekommen

ModuleNotFoundError: Kein Modul mit dem Namen 'Tkinter'

oder

ModuleNotFoundError: Kein Modul mit dem Namen 'tkinter'

Was könnte der Grund dafür sein und wie können wir es lösen?

RasmusGP
quelle
7
Installieren Sie es nicht Python kommt mit?
RasmusGP
Es hängt davon ab, welche Version Sie verwenden?
Zeb
Das Problem war, dass ich die falsche Python-Version installiert hatte und nicht alle Module installiert waren. Danke :)
RasmusGP
12
Warum ist diese Frage geschlossen? Dies ist der erste Thread, der mir bei der Suche aufgefallen ist, ModuleNotFoundError: No module named 'tkinter'und ich denke, der Inhalt hier ist relevant.
ScottMcC
13
Hey Googler auf Ubuntu! sudo apt-get install python3-tk ; Alle Verdienste um den Assistenten harrypotter0 unten, aber dieser Kommentar ist ein wenig unter der Falte;)
Zwei-Bit-Alchemist

Antworten:

329

Sie müssen es wahrscheinlich mit einer der folgenden Methoden (oder einer ähnlichen Methode) installieren:

sudo apt-get install python3-tk 

sudo dnf install python3-tkinter

Ich benutze Tkinter jetzt schon eine Weile. Warum versuchst du das nicht und lässt mich wissen, ob es funktioniert hat?

try:
    # for Python2
    from Tkinter import *   ## notice capitalized T in Tkinter 
except ImportError:
    # for Python3
    from tkinter import *   ## notice lowercase 't' in tkinter here

Hier ist die Referenz Link und hier ist die doc

Überprüfen Sie die hier vorgeschlagenen Versionen besser :

if sys.version_info[0] == 3:
    # for Python3
    from tkinter import *   ## notice lowercase 't' in tkinter here
else:
    # for Python2
    from Tkinter import *   ## notice capitalized T in Tkinter

Oder Sie erhalten eine Fehlermeldung ImportError: No module named tkinter

EDIT 1: Um diese Antwort allgemeiner zu gestalten, habe ich Folgendes aus den Kommentaren ausgeliehen. Verwenden Sie unter Fedora einen der folgenden Befehle

sudo dnf install python3-tkinter-3.6.6-1.fc28.x86_64

oder

sudo dnf install python3-tkinter
D-Codierer
quelle
Sie können shebang in Python-Skript #! / Usr / bin / env python3
Shigiang Liu
1
Diejenigen mit Fedora führen diesen Befehl aus, um Folgendes zu installieren: - sudo dnf install python3-tkinter-3.6.6-1.fc28.x86_64
Devendra Bhat
Es war die Änderung der Großschreibung (Tkinter zu tkinter), die mich dazu brachte - jeder muss jetzt seinen gesamten Beispielcode aktualisieren :)
Guy Starbuck
Warum muss es installiert werden, wenn es sich um eine Standard-Python-Schnittstelle handelt ?
Marko
Hinzufügen zu dem, was @DevendraBhat kommentiert hat. In Fedora können Sie "sudo dnf install python3-tkinter" für die Installation verwenden.
Kelly Bang
67

Während Sie Python 3 verwenden, wurde das Modul tkinterwie in der Dokumentation angegeben umbenannt in :

Hinweis Tkinter wurde in Python 3 in tkinter umbenannt. Das 2to3-Tool passt die Importe automatisch an, wenn Sie Ihre Quellen in Python 3 konvertieren.

Burhan Khalid
quelle
8

Für Windows 10 ist es wichtig, in der Python-Installation die optionale Funktion "tcl / tk and IDLE" zu überprüfen. Andernfalls erhalten Sie einen ModuleNotFoundError: Kein Modul mit dem Namen 'tkinter' . In meinem Fall war es nicht möglich, tkinter nach der Python-Installation mit so etwas wie "pip install tkinter" zu installieren.

Andi Schroff
quelle
Sie haben Recht, Python "einbettbare Zip-Datei" enthält kein tk. Wir sollten das "ausführbare Installationsprogramm" herunterladen und nicht vergessen, die Option "tcl / tk und IDLE"
auszuwählen
5
Sie können eine Python-Installation ändern, indem Sie das Python-Installationsprogramm erneut starten und "Ändern" auswählen. An diesem Punkt können Sie das Kontrollkästchen "tcl / tk und IDLE" aktivieren und das gewünschte Modul erhalten.
Sergio Morstabilini
5

Für Windows 10 , das entweder VSCode oder PyCharm mit Python 3.7.4 verwendet, stellen Sie sicher, dass Tk in der Installation aktiviert ist. Ich habe es import tkinter as xyzmit oberen / unteren t und k und allen Varianten ohne Glück versucht .

Was funktioniert ist:

import tkinter
import _tkinter
tkinter._test()

Ein Beispiel in Aktion:

import tkinter
import _tkinter

HEIGHT = 700
WIDTH = 800

root = tkinter.Tk()

canvas = tkinter.Canvas(root, height = HEIGHT, width=WIDTH)
canvas.pack()

frame = tkinter.Frame(root, bg='red')
frame.pack()

root.mainloop()
Jeremy Thompson
quelle
Ich glaube nicht, dass der direkte Import _tkinterirgendwelche Auswirkungen hat. tkinterwird das automatisch importieren.
Bryan Oakley
@BryanOakley Ich glaube nicht, dass dies irgendeinen Effekt hat . Ich kann auf alles schwören, dass dies das Problem war und es für mindestens 5 andere war. Dann muss es ein Fehler sein.
Jeremy Thompson
3

Möglicherweise müssen Sie für Ihre spezifische Version installieren. Ich habe Fälle gekannt, in denen dies erforderlich war, als ich viele Versionen von Python verwendete und eine Version in einer virtuellen Umgebung, die beispielsweise Python 3.7 verwendete, tkinter nicht importierte. Ich musste es für diese Version installieren speziell.

Beispielsweise

sudo apt-get install python3.7-tk 

Keine Ahnung warum - aber das ist passiert.

deMangler
quelle
2

Stellen Sie sicher, dass sich Ihr Python-Code im Python3- Kontext befindet, wenn Sie ihn ausführen . Ich hatte das gleiche Problem und musste nur den folgenden Befehl eingeben:

sudo python3 REPLACE.py

gegen

sudo python REPLACE.py

Der letztere Code ist falsch, da tkinter in python1 oder python2 anscheinend nicht verfügbar ist.

Owen Preece
quelle
1

Überprüfen Sie die installierte Python-Version mit dem Befehl python --version

Überprüfen Sie anhand des folgenden Codes, ob das Tk-Modul korrekt installiert ist

sudo apt-get install python3-tk 

Überprüfen Sie dann, ob Sie ein Open-Source-Betriebssystem verwenden

Überprüfen Sie das tkinter-Modul im folgenden Pfad: / home / python / site-packages / tkinter Ändern Sie den Pfad entsprechend Ihrem System

Devaliya Pratik
quelle
1

Sie müssen es nur installieren und Ihr Projekt so importieren:

Dieser Code wird in die Befehlszeile importiert:

sudo apt-get install python3-tk 

Nach dem Import tkinter Ihr Projekt:

from tkinter import *
Jafar Choupan
quelle
0

Unter CentOS7 musste ich Folgendes tun, um dies mit Python2 zum Laufen zu bringen:

yum -y install tkinter

Dies hier zu bemerken, weil ich dachte, dass es ein Pip-Paket geben würde, aber stattdessen muss man tatsächlich eine Drehzahl installieren.

Frederick Ollinger
quelle
0

tkinter wird mit Python geliefert ... Python deinstallieren, neu installieren, fertig

Giovanni G. PY
quelle
0

Überprüfen Sie die Eignung für Aufgaben. Sie kann als entfernt markiert sein

sudo apt autoremove

Dann prüfen und installieren

Sergey Shamanayev
quelle
0

--------- ARBEITET AN PYTHON 2.7 ------------

Installieren Sie alle unten aufgeführten Pakete

sudo apt-get install git
sudo apt-get install python-tk
sudo apt-get install python-pip
sudo apt install picolisp
sudo -H pip2 install --upgrade pip
sudo pip install -I pillow
sudo apt-get install python-imaging-tk
sudo apt-get install python-tk
RAHUL
quelle
0

tkinter sollte mit dem neuesten Python kommen, ich glaube nicht, dass es mit Python 2 kommt. Ich hatte das gleiche Problem, aber als ich auf Python 3.8 aktualisiert habe, wurde tkinter installiert

Eloni
quelle
-1

unten verwenden.

from tkinter import *
root=Tk()
.....
root.mainloop()
sameer_nubia
quelle
1
Siehe " Erklären vollständig codebasierter Antworten ". Dies mag zwar technisch korrekt sein, erklärt jedoch nicht, warum es das Problem löst oder die ausgewählte Antwort sein sollte. Wir sollten zusätzlich aufklären, um das Problem zu lösen.
Der Blechmann