ImportError: ningún módulo llamado 'Tkinter'

207

Por alguna razón, no puedo usar el módulo Tkintero tkinter. Después de ejecutar el siguiente comando en el shell de Python

import Tkinter

o

import tkinter

Recibí este error

ModuleNotFoundError: ningún módulo llamado 'Tkinter'

o

ModuleNotFoundError: ningún módulo llamado 'tkinter'

¿Cuál podría ser el motivo y cómo podemos resolverlo?

RasmusGP
fuente
77
¿Instalarlo no viene con Python?
RasmusGP
¿Depende de qué versión estás usando?
Zeb
El problema era que tenía instalada la versión incorrecta de Python y no tenía todos los módulos instalados todo arreglado ahora, gracias :)
RasmusGP
12
¿Por qué esta pregunta cerrada? Este es el primer hilo que surgió cuando busqué ModuleNotFoundError: No module named 'tkinter'y creo que el contenido aquí es relevante.
ScottMcC
13
¡Hola Googler en Ubuntu! sudo apt-get install python3-tk ; Todo el crédito para el asistente harrypotter0 a continuación, pero ese comentario está un poco debajo del pliegue;)
Two-Bit Alchemist

Respuestas:

331

Probablemente necesite instalarlo usando uno de (o algo similar) lo siguiente:

sudo apt-get install python3-tk 

sudo dnf install python3-tkinter

He estado usando Tkinter por un tiempo ahora. ¿Por qué no intentas esto y me avisas si funcionó?

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

Aquí está el enlace de referencia y aquí está el documento

Es mejor verificar las versiones como se sugiere aquí :

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 obtendrás un error ImportError: No module named tkinter

EDITAR 1: Solo para hacer esta respuesta más genérica, tomé prestado lo siguiente de los comentarios. En Fedora, use cualquiera de los siguientes comandos

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

o

sudo dnf install python3-tkinter
codificador d
fuente
Puede usar shebang en el script de python #! / Usr / bin / env python3
Shigiang Liu
1
Aquellos con Fedora ejecutan este comando para instalar: - sudo dnf install python3-tkinter-3.6.6-1.fc28.x86_64
Devendra Bhat
Fue el cambio en la capitalización (Tkinter a tkinter) lo que me atrapó: ahora todos necesitan actualizar todo su código de muestra :)
Guy Starbuck
¿Por qué necesita ser instalado si es una interfaz estándar de Python ?
Marko
Agregando a lo que @DevendraBhat comentó. En fedora puede usar "sudo dnf install python3-tkinter" para la instalación.
Kelly Bang
67

Como está utilizando Python 3, el módulo ha cambiado de nombre tkinter, como se indica en la documentación :

Nota Tkinter ha cambiado de nombre a tkinter en Python 3. La herramienta 2to3 adaptará automáticamente las importaciones al convertir sus fuentes a Python 3.

Burhan Khalid
fuente
8

Para Windows 10, es importante verificar que en Python instale la característica opcional "tcl / tk e IDLE". De lo contrario, obtendrá un ModuleNotFoundError: ningún módulo llamado 'tkinter' . En mi caso, no fue posible instalar tkinter después de la instalación de Python con algo como "pip install tkinter"

Andi Schroff
fuente
Tienes razón, Python "archivo zip incrustable" no contiene tk, debemos descargar el "instalador ejecutable" y no olvides seleccionar la opción "tcl / tk e IDLE"
tinyhare
55
Puede modificar una instalación de Python iniciando nuevamente el instalador de Python y seleccionando "Modificar". En ese momento, puede marcar la casilla de verificación "tcl / tk e IDLE" y obtener el módulo que necesita.
Sergio Morstabilini
5

Para Windows 10 con VSCode o PyCharm con Python 3.7.4, asegúrese de que Tk esté marcado en la instalación. Probé import tkinter as xyzcon superior / inferior t y k 's y todas las variantes sin suerte.

Lo que funciona es:

import tkinter
import _tkinter
tkinter._test()

Un ejemplo en acción:

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
fuente
No creo que la importación directa _tkintertenga ningún efecto. tkinterimportará eso automáticamente.
Bryan Oakley
@BryanOakley No creo que esto tenga ningún efecto . Puedo jurar sobre cualquier cosa, esta fue la solución y fue para al menos otros 5. Tiene que ser un error entonces.
Jeremy Thompson
3

Es posible que necesite instalar para su versión específica, he conocido casos en los que esto era necesario cuando estaba usando muchas versiones de python y una versión en un virtualenv usando, por ejemplo, python 3.7 no importaba tkinter. Tendría que instalarlo para esa versión específicamente.

Por ejemplo

sudo apt-get install python3.7-tk 

No tengo idea de por qué, pero esto ha ocurrido.

deMangler
fuente
2

Asegúrese de que cuando esté ejecutando su código de python esté en el contexto de python3 . Tuve el mismo problema y todo lo que tuve que hacer fue ingresar el comando como:

sudo python3 REPLACE.py

versus

sudo python REPLACE.py

el último código es incorrecto porque tkinter aparentemente no está disponible en python1 o python2.

Owen Preece
fuente
1

verifique la versión de Python que ha instalado utilizando el comando python --version

verifique que el módulo Tk esté instalado correctamente a partir del siguiente código

sudo apt-get install python3-tk 

Compruebe si está utilizando un sistema operativo de código abierto y luego

verifique el módulo tkinter en la siguiente ruta / home / python / site-packages / tkinter cambie la ruta de acuerdo a su sistema

Devaliya Pratik
fuente
1

Solo necesita instalarlo e importarles su proyecto así:

este código importa a la línea de comando:

sudo apt-get install python3-tk 

Después de importar tkinter su proyecto:

from tkinter import *
Jafar Choupan
fuente
0

En CentOS7, para que esto funcione con Python2, tuve que hacer:

yum -y install tkinter

Tomando nota de esto aquí porque pensé que habría un paquete pip, pero en su lugar, uno realmente necesita instalar un rpm.

Frederick Ollinger
fuente
0

tkinter viene con python ... desinstalar python, reinstalarlo, ya está

Giovanni G. PY
fuente
0

Marque apto para tareas, puede estar marcado como eliminado

sudo apt autoremove

Luego verifique e instale lo necesario

Sergey Shamanayev
fuente
0

--------- TRABAJÓ EN PYTHON 2.7 ------------

Instale todos los paquetes a continuación

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
fuente
0

tkinter debería venir con la última versión de Python, no creo que venga con Python 2. Tuve el mismo problema, pero una vez que actualicé a Python 3.8 se instaló tkinter

Eloni
fuente
-1

utilizar a continuación.

from tkinter import *
root=Tk()
.....
root.mainloop()
sameer_nubia
fuente
1
Consulte " Explicación de respuestas completamente basadas en código ". Si bien esto podría ser técnicamente correcto, no explica por qué resuelve el problema o debería ser la respuesta seleccionada. Deberíamos educar además para ayudar a resolver el problema.
The Tin Man