ImportError: nessun modulo chiamato 'Tkinter'


207

Per qualche motivo, non riesco a usare il modulo Tkintero tkinter. Dopo aver eseguito il seguente comando nella shell python

import Tkinter

o

import tkinter

Ho ricevuto questo errore

ModuleNotFoundError: nessun modulo denominato 'Tkinter'

o

ModuleNotFoundError: nessun modulo denominato 'tkinter'

Quale potrebbe essere la ragione e come possiamo risolverlo?


7
Installa non viene fornito da Python?
RasmusGP,

Dipende dalla versione che stai usando?
Zeb,

Il problema era che avevo installato la versione di Python sbagliata e non avevo tutti i moduli installati ora tutti riparati grazie :)
RasmusGP

12
Perché questa domanda è chiusa? Questo è il primo thread che mi è venuto in mente quando ho cercato ModuleNotFoundError: No module named 'tkinter'e penso che il contenuto qui sia pertinente.
ScottMcC,

13
Ehi Googler su Ubuntu! sudo apt-get install python3-tk ; Tutto il merito al mago harrypotter0 qui sotto, ma quel commento è un po 'sotto l'ovile;)
Two-Bit Alchemist

Risposte:


331

Probabilmente dovrai installarlo usando uno dei seguenti (o qualcosa di simile):

sudo apt-get install python3-tk 

sudo dnf install python3-tkinter

Uso Tkinter da un po 'di tempo. Perché non provi questo e fammi sapere se ha funzionato?

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

Ecco il link di riferimento ed ecco il documento

Meglio controllare le versioni come suggerito qui :

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

O otterrai un errore ImportError: No module named tkinter

EDIT 1: Solo per rendere questa risposta più generica ho preso in prestito quanto segue dai commenti. Su Fedora, usa uno dei seguenti comandi

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

o

sudo dnf install python3-tkinter

Puoi usare shebang nello script python #! / Usr / bin / env python3
Shigiang Liu,

1
Quelli con Fedora eseguono questo comando per installare: - sudo dnf install python3-tkinter-3.6.6-1.fc28.x86_64
Devendra Bhat,

È stato il cambiamento di capitalizzazione (da Tkinter a tkinter) che mi ha portato - ora tutti hanno bisogno di aggiornare tutto il loro codice di esempio :)
Guy Starbuck

Perché deve essere installato se si tratta di un'interfaccia standard di Python ?
Marko

Aggiungendo a ciò che ha commentato @DevendraBhat. In fedora è possibile utilizzare "sudo dnf install python3-tkinter" per l'installazione.
Kelly Bang,

67

Mentre stai usando Python 3, il modulo è stato rinominato tkinter, come indicato nella documentazione :

Nota Tkinter è stato rinominato tkinter in Python 3. Lo strumento 2to3 adatterà automaticamente le importazioni durante la conversione delle fonti in Python 3.


8

Per Windows 10, è importante verificare nell'installazione di Python la funzione opzionale "tcl / tk e IDLE". Altrimenti otterrai un ModuleNotFoundError: nessun modulo chiamato 'tkinter' . Nel mio caso, non è stato possibile installare tkinter dopo l'installazione di Python con qualcosa come "pip install tkinter"


Hai ragione, il "file zip incorporabile" di Python non contiene tk, dovremmo scaricare il "programma di installazione eseguibile" e non dimenticare di selezionare l'opzione "tcl / tk e IDLE"
tinyhare

5
È possibile modificare un'installazione di Python avviando nuovamente il programma di installazione di Python e selezionando "Modifica". A quel punto puoi selezionare la casella "tcl / tk e IDLE" e ottenere il modulo che ti serve.
Sergio Morstabilini,

5

Per Windows 10 usando VSCode o PyCharm con Python 3.7.4 - assicurati che Tk sia spuntato nell'installazione. Ho provato import tkinter as xyzcon t / k superiore / inferiore e tutte le varianti senza fortuna.

Ciò che funziona è:

import tkinter
import _tkinter
tkinter._test()

Un esempio in azione:

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()

Non credo che l'importazione diretta _tkinterabbia alcun effetto. tkinterlo importerà automaticamente.
Bryan Oakley,

@BryanOakley Non penso che questo abbia alcun effetto . Posso giurare su tutto ciò che era la soluzione ed era per almeno altri 5. Quindi deve essere un bug.
Jeremy Thompson, il

3

Potresti aver bisogno di installare per la tua versione specifica, ho conosciuto casi in cui questo era necessario quando stavo usando molte versioni di Python e una versione in un VirtualVen usando ad esempio Python 3.7 non importava tkinter Dovrei installarlo per quella versione nello specifico.

Per esempio

sudo apt-get install python3.7-tk 

Non ho idea del perché, ma questo è successo.


2

Assicurati che quando esegui il tuo codice Python sia nel contesto di Python3 . Ho avuto lo stesso problema e tutto quello che dovevo fare era inserire il comando come:

sudo python3 REPLACE.py

contro

sudo python REPLACE.py

quest'ultimo codice non è corretto perché apparentemente tkinter non è disponibile in python1 o python2.


1

controlla la versione di Python che hai installato usando il comando python --version

verificare che il modulo Tk sia installato correttamente dal seguente codice

sudo apt-get install python3-tk 

Controlla quindi se stai utilizzando un sistema operativo open source

controlla il modulo tkinter nel seguente percorso / home / python / site-pacchetti / tkinter cambia il percorso di conseguenza il tuo sistema


1

Devi solo installarlo e importarli in questo modo:

questo codice viene importato nella riga di comando:

sudo apt-get install python3-tk 

dopo l'importazione del progetto:

from tkinter import *

0

Su CentOS7, per farlo funzionare con Python2, ho dovuto fare:

yum -y install tkinter

Notando questo qui perché pensavo che ci sarebbe stato un pacchetto pip, ma invece è necessario installare effettivamente un rpm.


0

tkinter viene fornito con Python ... disinstallare Python, reinstallarlo, il gioco è fatto


0

Controlla apt per le attività, può essere contrassegnato per rimosso

sudo apt autoremove

Quindi controllare e installare necessari


0

--------- LAVORATO SU PYTHON 2.7 ------------

Installa tutti i pacchetti sottostanti

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

0

tkinter dovrebbe venire con l'ultimo python, non credo che venga fornito con python 2. ho avuto lo stesso problema ma una volta aggiornato a python 3.8 è stato installato tkinter


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.