42 votes

ImportError: Aucun nom '_tkinter' trouvé, veuillez installer le package python3-tk

Je suis novice sur Ubuntu et Linux en général.

J'ai créé un double système d'exploitation sur mon ordinateur portable (Windows 10 et Ubuntu).

  • En tapant : sudo apt-get install python3-tk (ou même python-tk) n'a pas fonctionné.
  • En essayant d'installer python3-dev ou python-devel (sans succès).
  • En téléchargeant Tcl et Tk pour une installation manuelle.

Dans le sous-système Bash de Windows 10, Tk et Tcl sont déjà inclus, donc j'ai pensé qu'Ubuntu les avait déjà. Mais je veux utiliser mon bureau Ubuntu pour développer des applications GUI Python.

Alors, comment puis-je installer Tcl/Tk pour l'utiliser dans Python 3.5 pour le développement d'interfaces graphiques?

J'ai chargé Python 3.5.2 correctement mais j'ai besoin que les modules GUI soient activés.

Le code pour tester si Tk fonctionne est :

  1. Tapez python3

  2. Tapez :

    import tkinter   
    tkinter._test()
  3. Résultat : une fenêtre GUI affichant Il s'agit d'une version Tcl/Tk..

44voto

Elder Geek Points 34144

32voto

Alex Harvey Points 231

Pour un environnement virtuel python 3.6 avec Python 3.5 comme python "système" (Ubuntu), j'ai dû installer tk 3.6 pour correspondre;

sudo apt-get install python3.6-tk

Mon python par défaut sous ubuntu était 3.5, donc lorsque j'utilisais un venv pour 3.6, j'obtenais une erreur d'importation. Cela m'a rendu fou pendant un certain temps.

[Éditer: Comme cette question vieillit]

En général, il semble que si l'on utilise un environnement virtuel avec une version de python différente de celle de sa machine de base, il est nécessaire d'installer tk pour la version de python utilisée dans l'environnement virtuel.

sudo apt install python3.x-tk

Où 3.x correspondrait à la version de l'environnement virtuel.

[Modifier]

Il peut être nécessaire d'ajouter le dépôt pour tk. Dans mon expérience, c'était le même dépôt à partir duquel j'ai extrait python3.6, mais cela peut changer avec le temps;

sudo add-apt-repository ppa:deadsnakes/ppa

1voto

phoenix007 Points 21

Dans mon cas, j'obtenais la même erreur que "ImportError: No module named '_tkinter'" pour python3.5, malgré avoir fait les choses suivantes : - Installation de python3-tk et tkinter-dev - Le répertoire Tkinter étant disponible dans /usr/lib/python3.5.

L'erreur observée provenait du fichier suivant :

Fichier "/usr/local/lib/python3.5/tkinter/init.py", ligne 35, dans import _tkinter # Si cela échoue, votre Python peut ne pas être configuré pour Tk

Cependant, lorsque j'ai simplement exécuté python depuis /usr/bin comme /usr/bin/python3.5 dans le terminal, cela a fonctionné pour moi !

En résumé, assurez-vous simplement que la version de python exécutée depuis le terminal a tkinter installé et configuré :)

J'ai Ubuntu16.04 installé sur mon système, qui est livré avec python2.7 et python3.5 par défaut

0voto

MaximoTrinidad Points 429

Cela pourrait être intéressant lors de l'installation à partir de la source (que la plupart des utilisateurs de Python ne feront pas) :

Après avoir installé tcl et tk.

Retournez à votre version de Python, faites make. Et, si plusieurs versions de python existent, faites un make altinstall.

  1. Ouvrez Python3.5

  2. tapez :

    import tkinter
    tkinter._test()
  3. résultats OK - fenêtre GUI ouverte et fonctionnant comme prévu.

0voto

ismailarilik Points 101

Installer uniquement les fichiers de la bibliothèque risque de ne pas fonctionner car vous voulez utiliser la bibliothèque elle-même et non la développer.

Cela a fonctionné pour moi :

$ sudo apt install tk8.6-dev

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X