ImportError: aucun module nommé 'Tkinter'


207

Pour une raison quelconque, je ne peux pas utiliser le module Tkinterou tkinter. Après avoir exécuté la commande suivante dans le shell python

import Tkinter

ou

import tkinter

J'ai cette erreur

ModuleNotFoundError: aucun module nommé 'Tkinter'

ou

ModuleNotFoundError: aucun module nommé 'tkinter'

Quelle pourrait être la raison et comment pouvons-nous le résoudre?


7
L'installer n'est-il pas livré avec python?
RasmusGP

Cela dépend de la version que vous utilisez?
Zeb

Le problème était que j'avais la mauvaise version de python installée et que tous les modules n'étaient pas tous
réparés

12
Pourquoi cette question est-elle close? C'est le premier fil qui m'est apparu lorsque j'ai cherché ModuleNotFoundError: No module named 'tkinter'et je pense que le contenu ici est pertinent.
ScottMcC

13
Hey Googler sur Ubuntu! sudo apt-get install python3-tk ; Tous les crédits à l'assistant harrypotter0 ci-dessous mais ce commentaire est un peu en dessous du pli;)
Two-Bit Alchemist

Réponses:


331

Vous devrez probablement l'installer en utilisant l'un des éléments suivants (ou quelque chose de similaire à):

sudo apt-get install python3-tk 

sudo dnf install python3-tkinter

J'utilise Tkinter depuis un moment maintenant. Pourquoi n'essayez-vous pas cela et faites-moi savoir si cela a fonctionné?

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

Voici le lien de référence et voici le doc

Mieux vaut vérifier les versions comme suggéré ici :

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

Ou vous obtiendrez une erreur ImportError: No module named tkinter

EDIT 1: Juste pour rendre cette réponse plus générique, j'ai emprunté ce qui suit aux commentaires. Sur Fedora, veuillez utiliser l'une des commandes suivantes

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

ou

sudo dnf install python3-tkinter

Vous pouvez utiliser shebang dans le script python #! / Usr / bin / env python3
Shigiang Liu

1
Ceux qui ont Fedora exécutent cette commande pour installer: - sudo dnf install python3-tkinter-3.6.6-1.fc28.x86_64
Devendra Bhat

C'est le changement de capitalisation (Tkinter à tkinter) qui m'a amené - tout le monde doit maintenant mettre à jour l'intégralité de son exemple de code :)
Guy Starbuck

Pourquoi doit-il être installé s'il s'agit d'une interface python standard ?
Marko

Ajout à ce que @DevendraBhat a commenté. Dans fedora, vous pouvez utiliser "sudo dnf install python3-tkinter" pour l'installation.
Kelly Bang

67

Comme vous utilisez Python 3, le module a été renommé tkinter, comme indiqué dans la documentation :

Remarque Tkinter a été renommé tkinter en Python 3. L'outil 2to3 adaptera automatiquement les importations lors de la conversion de vos sources en Python 3.


8

Pour Windows 10, il est important de vérifier dans l'installation Python la fonctionnalité optionnelle "tcl / tk et IDLE". Sinon, vous obtenez un ModuleNotFoundError: Aucun module nommé 'tkinter' . Dans mon cas, il n'était pas possible d'installer tkinter après l'installation de Python avec quelque chose comme "pip install tkinter"


Vous avez raison, le "fichier zip intégrable" Python ne contient pas de tk, nous devons télécharger le "programme d'installation exécutable" et n'oubliez pas de sélectionner l'option "tcl / tk et IDLE"
tinyhare

5
Vous pouvez modifier une installation python en relançant le programme d'installation de python et en sélectionnant "Modifier". À ce stade, vous pouvez cocher la case "tcl / tk et IDLE" et obtenir le module dont vous avez besoin.
Sergio Morstabilini

5

Pour Windows 10 en utilisant VSCode ou PyCharm avec Python 3.7.4 - assurez-vous que Tk est coché dans l'installation. J'ai essayé import tkinter as xyzavec des t et k supérieurs / inférieurs et toutes les variantes sans chance.

Ce qui fonctionne, c'est:

import tkinter
import _tkinter
tkinter._test()

Un exemple en action:

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

Je ne pense pas que l'importation directe _tkinterait un quelconque effet. tkinterimportera automatiquement cela.
Bryan Oakley

@BryanOakley Je ne pense pas que cela ait un effet . Je peux jurer sur tout ce que c'était le correctif et c'était pour au moins 5 autres. Ça doit être un bug alors.
Jeremy Thompson

3

Vous pourriez avoir besoin d'installer pour votre version spécifique, j'ai connu des cas où cela était nécessaire lorsque j'utilisais de nombreuses versions de python et une version dans un virtualenv en utilisant par exemple python 3.7 n'importait pas tkinter je devrais l'installer pour cette version Plus précisément.

Par exemple

sudo apt-get install python3.7-tk 

Je ne sais pas pourquoi - mais cela s'est produit.


2

Assurez-vous que lorsque vous exécutez votre code python, il se trouve dans le contexte python3 . J'ai eu le même problème et tout ce que j'avais à faire était d'entrer la commande comme:

sudo python3 REPLACE.py

contre

sudo python REPLACE.py

ce dernier code est incorrect car tkinter n'est apparemment pas disponible en python1 ou python2.


1

vérifier la version de python que vous avez installée à l'aide de la commande python --version

vérifier le module Tk installé correctement à partir du code suivant

sudo apt-get install python3-tk 

Vérifiez si vous utilisez un système d'exploitation open source, puis

vérifiez le module tkinter dans le chemin suivant / home / python / site-packages / tkinter changez le chemin en conséquence votre système


1

Il vous suffit de l'installer et de l'importer votre projet comme ça:

cette importation de code en ligne de commande:

sudo apt-get install python3-tk 

après avoir importé tkinter votre projet:

from tkinter import *

0

Sur CentOS7, pour que cela fonctionne avec Python2, je devais faire:

yum -y install tkinter

Notant ceci ici parce que je pensais qu'il y aurait un paquet pip, mais à la place, il faut réellement installer un rpm.


0

tkinter est livré avec python ... désinstallez python, réinstallez-le, vous avez terminé


0

Vérifiez apt pour les tâches, il peut être marqué comme supprimé

sudo apt autoremove

Ensuite, vérifiez et installez nécessaire


0

--------- TRAVAILLÉ SUR PYTHON 2.7 ------------

Installez tous les packages ci-dessous

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 devrait venir avec le dernier python, je ne pense pas qu'il vienne avec python 2. j'ai eu le même problème mais une fois que j'ai mis à niveau vers python 3.8 tkinter a été installé



-1

Réinstallez votre python, puis utilisez from tkinter import *pour importer dans votre code. J'espère que cela pourra aider

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.