318 votes

Installer tkinter pour Python

Je suis en train d'essayer d'importer Tkinter. Cependant, j'obtiens une erreur indiquant que Tkinter n'a pas été installé :

ImportError: No module named _tkinter, veuillez installer le package python-tk

Je pourrais probablement l'installer en utilisant le gestionnaire de paquets synaptic (est-ce possible ?), cependant, je devrais l'installer sur chaque machine sur laquelle je programme. Serait-il possible d'ajouter la bibliothèque Tkinter dans mon espace de travail et de la référencer à partir de là ?

0 votes

Est-ce que la solution suggérée a fonctionné pour vous? Ce n'est pas le cas pour moi: E: Impossible de trouver le paquet python-tk Est-ce que quelqu'un a rencontré ce problème?

8 votes

Pour ce que ça vaut, si vous obtenez cette erreur avec matplotlib il n'est pas toujours nécessaire d'installer Tkinter. Appelez matplotlib.use('Agg') juste après avoir importé matplotlib.

8 votes

Vous pouvez utiliser import matplotlib matplotlib.use('agg') import matplotlib.pyplot as plt si vous ne souhaitez pas installer tkinter

440voto

9000 Points 13242

Il n'est pas très facile d'installer Tkinter localement pour l'utiliser avec Python fourni par le système. Vous pouvez le construire à partir des sources, mais ce n'est généralement pas la meilleure idée avec une distribution basée sur des packages binaires que vous utilisez apparemment.

Il est plus sûr de apt-get install python3-tk sur votre machine(s). (Fonctionne sur les distributions dérivées de Debian comme Ubuntu; consultez votre gestionnaire de packages et la liste des packages sur d'autres distributions.)

2 votes

@BryanOakley: Bien sûr. Le posteur semblait avoir une boîte Linux basée sur Apt, donc la réponse. Cela ressemblait à un problème spécifique. Je ne m'attendais pas à ce que cette réponse obtienne autant de votes positifs.

76 votes

Et pour python3 apt-get install python3-tk au moment de ce commentaire pour ubuntu 15.04

2 votes

J'ai aussi fait cela pour python3.4 et ubuntu 15.04 : apt-get install python3-tk

106voto

Neil Points 101

En réalité, vous avez juste besoin d'utiliser ce qui suit pour installer le tkinter pour python3 :

sudo apt-get install python3-tk

De plus, pour les utilisateurs de Fedora, utilisez la commande suivante :

sudo dnf install python3-tkinter

3 votes

Merci! Cela nécessite en fait python3-tk, et non python-tk.

0 votes

Si vous êtes un débutant Linux comme moi, notez que si apt-get rencontre des problèmes pour trouver / installer python3-tk, essayez d'abord d'exécuter sudo apt-get update. Sur mon système Linux Mint 18.3 32 bits, Synaptic et apt-get semblent nécessiter cela plus souvent que je ne l'aurais supposé...

0 votes

Je comprends que python3-tk est déjà la version la plus récente (3.5.1-1) et lorsque j'importe tkinter, j'obtiens toujours : ModuleNotFoundError: No module named 'tkinter'. J'utilise (Python 3.7.5)

70voto

Simon Points 201

Si, comme moi, vous n'avez pas les privilèges root sur votre réseau à cause de vos merveilleux amis de l'I.S., et que vous travaillez sur une installation locale, vous pouvez rencontrer des problèmes avec les approches ci-dessus.

J'ai passé des heures sur Google - mais à la fin, c'est facile.

Téléchargez le tcl et tk depuis http://www.tcl.tk/software/tcltk/download.html et installez-les localement aussi.

Pour installer localement sur Linux (je l'ai fait dans mon répertoire personnel), extrayez les fichiers .tar.gz pour tcl et tk. Ensuite, ouvrez les fichiers readme dans le répertoire ./unix. J'ai exécuté

cd ~/tcl8.5.11/unix
./configure --prefix=/home/cnel711 --exec-prefix=/home/cnel711
make
make install

cd ~/tk8.5.11/unix
./configure --prefix=/home/cnel711 --exec-prefix=/home/cnel711 --with-tcl=/home/cnel711/tcl8.5.11/unix
make
make install

Cela peut sembler ennuyeux, mais les fichiers sont minuscules et l'installation est très rapide.

Ensuite, relancez python setup.py build et python setup.py install dans votre répertoire d'installation Python - et cela devrait fonctionner. Ça a marché pour moi - et maintenant je peux importer Tkinter etc à ma guise - youpi. Une après-midi entière passée là-dessus - j'espère que cette note épargnera à d'autres cette douleur.

2 votes

Salut Simon. Je viens de débarquer de Linux. J'ai besoin d'installer tcl/tk et python localement. Je veux les installer dans "/home/cnel711/install/". Après avoir installé tcl/tk, dois-je définir le chemin pour Python ? et comment. J'utilise aussi ./configure pour installer python. Merci

0 votes

Bonjour, J'ai déjà installé tcl/tk localement et j'ai reconstruit python. Cependant, lors de la construction de python (en local), j'obtiens une erreur : libtk8.6.so : impossible d'ouvrir le fichier d'objet partagé : Aucun fichier ou dossier de ce type, et le module _tkinter n'a pas pu être construit. J'ai même essayé de définir le chemin de mes bibliothèques tcl/tk avec --with_tcltk_libs mais cela n'a pas aidé.

0 votes

Merci cela m'a beaucoup aidé! Très petite addition : "Si --exec-prefix n'est pas fourni, il se définit par défaut sur --prefix." de la documentation python : docs.python.org/2/install

46voto

user1497423 Points 219

Si vous utilisez Python 3, cela pourrait être parce que vous tapez Tkinter au lieu de tkinter

0 votes

Je suis sur windows et cela a facilement résolu mon problème. :)

0 votes

Ahh, à la fin ce n'était juste que le T qui posait problème! Je suivais un code en ligne qui l'avait en majuscule. Merci beaucoup!!

19voto

BartoszKP Points 14131

Pour Python 2.7:

Comme indiqué ici,

Vous n'avez pas besoin de télécharger Tkinter - c'est une partie intégrante de toutes les distributions Python (à l'exception des distributions binaires pour les plates-formes qui ne prennent pas en charge Tcl/Tk).

Dans mon cas, sur Windows, ce qui a aidé a été de réinstaller la distribution Python. Il y a longtemps, j'avais décoché la fonctionnalité d'installation "Tcl/Tk". Après réinstallation, tout fonctionne bien et je peux import _tkinter et import Tkinter.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X