web-dev-qa-db-fra.com

ImportError: Pas de nom '_tkinter', installez le paquet python3-tk.

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

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

  • Taper: Sudo apt-get install python3-tk (ou même python-tk) n'a pas fonctionné.
  • Essayer d'installer le python3-dev ou python-devel (pas de chance).
  • Téléchargement de Tcl et Tk à installer manuellement.

Dans Windows 10 Bash Subsystem, Tk et Tcl sont déjà inclus. Je pensais donc que Ubuntu l’avait déjà. Cependant, je souhaite utiliser mon bureau Ubuntu pour développer Python applications GUI.

Alors, comment puis-je installer Tcl/Tk pour être utilisé dans Python 3.5 pour le développement d'interface graphique?

J'ai chargé Python 3.5.2 mais j'ai besoin que les modules d'interface graphique soient activés.

Le code pour tester que Tk fonctionne est:

  1. Tapez python3
  2. Type:

    import tkinter   
    tkinter._test()
    
  3. Résultat: une fenêtre graphique affichant This is a Tcl/Tk version..

23
MaximoTrinidad
25
Elder Geek

Une remarque - pour un environnement virtuel python 3.6 avec un système python 3.5, je devais l'installer;

Sudo apt-get install python3.6-tk

Mon défaut python sous Ubuntu était de 3,5; par conséquent, lors de l'utilisation d'un venv pour la version 3.6, j'obtiendrais une erreur d'importation. M'a rendu fou pendant un moment.

[Edit: En réponse à la demande très raisonnable des aînés]

Le référentiel de python3.6-tk (dans mon cas) était le même que celui de python 3.6

Sudo add-apt-repository ppa:deadsnakes/ppa

Le référentiel mentionné ci-dessus contient le paquet python3.6-tk disponible pour xenial et trusty, ainsi que la toute récente version de Python 3.7.0 bêta 2.

Cependant, cette réponse sera datée une fois que la version 3.6+ aura été généralisée sur Ubuntu, car je soupçonne que ce sera dans le référentiel principal.

20
SteveJ

Cela peut être intéressant lors de l’installation à partir du source (ce que la plupart des python ne le feront pas):

Après l'installation de tcl et tk .

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

  1. Ouvrez Python3.5
  2. type:

    import tkinter
    tkinter._test()
    
  3. results OK - Pop GUI ouverte et fonctionnant comme prévu.

0
MaximoTrinidad

Dans mon cas, je recevais la même erreur que "ImportError: aucun module nommé '_tkinter'" pour python3.5 malgré les opérations suivantes: - Installation de python3-tk et de tkinter-dev - Le répertoire Tkinter étant disponible dans /usr/lib/python3.5.

L'erreur observée provient du fichier suivant:

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

Cependant, lorsque j’exécutais simplement le python à partir de/usr/bin comme /usr/bin/python3.5 du terminal, cela a fonctionné pour moi!

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

Ubuntu16.04 est installé sur mon système avec les paramètres par défaut python2.7 et python3.5

0
Kaustubh Sable