Bienvenue sur IndexError.

Ici vous pouvez poser des questions sur Python et le Framework Django.

Mais aussi sur les technos front comme React, Angular, Typescript et Javascript en général.

Consultez la FAQ pour améliorer vos chances d'avoir des réponses à vos questions.

Impossible d'importer tkinter

+1 vote

Je n'arrive pas à importer tkinter sous Windows 7 64 bits avec Python 3.5. Je ne comprends absolument pas pourquoi. Voici mon code tout simple (il n'y a que ce fichier) :

import tkinter

class simpleapp_tk(tkinter.Tk):
    def __init__(self,parent):
        tkinter.Tk.__init__(self,parent)
        self.parent = parent
        self.initialize()

    def initialize(self):
        pass 

if __name__ == "__main__":
    app = simpleapp_tk(None)
    app.title('my application')
    app.mainloop()

J'ai une exception "ImportError: No module named 'tkinter'" alors que j’exécute bien ce script à l'aide de Python 3.5.

Je ne sais pas du tout d'où peut venir ce problème. J'ai installé Python 3.5 tout récemment (il y a quelques semaines).

Je débute en programmation de GUI en Python.

demandé 7-Jan-2016 par Epoc (392 points)
edité 8-Jan-2016 par max

comme tu débutes, un conseil pour l'avenir en cas de problème d'installation
de librairie :
installes anaconda qui te donne python avec plein de bonnes librairies parfois chiantes à installer:
https://www.continuum.io/downloads

Et quand tu veux installer un truc tu tapes dans le shell :

pip install truc_a_installer

Si tu t’intéresses à développer des jeux avec pygame, la version 64 bit windows poseras problème, donc rétrograder sur un interpréteur python 32 bits ou bien passer à Linux.

Linux c'est vraiment mieux pour faire de la prog !

2 Réponses

+3 votes
 
Meilleure réponse

Si tu veux être tranquil concernant les nommages de tkinter, étant donné qu'il peut s'appeler 'tkinter' ou encore 'Tkinter' (donc le t devien majuscule) en fonction de ta version python, tu peux rentrer ces lignes au début de ton programme :

try:
    # for Python2
    import Tkinter as tk   ## notice capitalized T in Tkinter 
except ImportError:
    # for Python3
    import tkinter as tk   ## notice here too

Pour utiliser les fonctions de tkinter, tu fais précéder par tk.

par ex :

master = tk.Tk()

w = tk.Canvas(master, width=200, height=100)
w.pack()

Pour te faire la main, voir les fonctionnalités de base etc... J'ai fait un petit programme tkinter, si tu veux y jeter un coup d'oeil, c'est par

il se peut aussi que tkinter ne soit pas tout simplement installé sur ta machine

pour vérifier ça, la commande :

python -m tkinter 

devrait t'afficher une fenêtre !

S'il n'est pas installé, tu as dû manqué quelque chose lors de l'installation de python sur ta machine, ce tuto montre comment on règle ça

To get the Python installer, go to the download page at
python.org/download. Select the version of Python you want to install.
In this case, I'm going to choose the Python 3.4.1, 64 bit installer
and click the link to begin the download. After the download is
completed, run the dot MSI installer file. This will bring up the
Python 3.4 installer. Just click next to continue through the
installation prompts and continue until you get to this page. Here you
can see that there's an installation option for Tcl/Tk.

If I select it, it shows that Tkinter, Idle, and pydoc will be
installed as part of this item. By default, it should be selected as a
feature to be included in the installation, and that's what we want.
So you shouldn't need to change anything. Just click next to continue
with the installation. After the installer is completed, we'll want to
verify that Tkinter and Tcl/Tk were installed and configured
correctly. To do that, I'm going to open up Idle and we can access
Idle on Windows 8 by pressing the Windows key, going to the search
feature, typing Idle.

répondu 7-Jan-2016 par boblinux (3,094 points)
sélectionné 7-Jan-2016 par Epoc

Merci beaucoup pour toutes ces informations et ton programme d'exemple ! Concernant mon problème je pense que je n'ai pas installé Tcl/Tk lorsque j'ai installé Python 3.5. Je confirme ce soir :)

Merci beaucoup, c'était bien tkinter qui n'était pas installé ^^"

Si tu as des hick avec tkinter, tu peux te faire plaisir sur indexerror, on en connaît un petit rayon vu qu'on en a déjà parlé sur plusieurs posts :)

0 votes

Je soupçonne l'usage de ubuntu. Sur cette distro, il faut installer un paquet séparé pour tkinter, quelque chose comme :

sudo apt-get install python3-tk

répondu 7-Jan-2016 par yoch (2,170 points)

Je suis bien sous Windows comme indiqué dans les tags et le début de ma question :)

...