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?


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

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.


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"


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

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.


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.


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


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 *

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.



0

Marque apto para tareas, puede estar marcado como eliminado

sudo apt autoremove

Luego verifique e instale lo necesario


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

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


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.