web-dev-qa-db-fra.com

ImportError: Aucun module nommé '_tkinter', installez le paquet python3-tk.

J'ai déjà passé en revue toutes les questions similaires à cet égard et essayé les solutions proposées. Mais je ne parviens pas à corriger cette erreur si mon python3-tk package est installé dans le fichier virtualenv approprié que j'utilise pour mon projet.

Bien que dans mon projet, je n'utilise pas tkinter, lorsque j'essaie d'exécuter le fichier, j'obtiens l'erreur suivante liée au _tkinter module.

Traceback (dernier appel le plus récent):
Fichier "/usr/lib/python3.5/tkinter/init.py", ligne 36, dans import _tkinter
ImportError: Aucun module nommé '_tkinter'

Lors du traitement de l'exception ci-dessus, une autre exception s'est produite:

Traceback (dernier appel le plus récent):
Fichier "/home/manuelanayantarajeyaraj/PycharmProjects/ChatbotWord2Vec/main.py", ligne 2, à partir de pyplot import matplotlib en tant que plt
Fichier" /home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/matplotlib/pyplot.py ", ligne 115, in _backend_mod, new_figure_manager, draw_if_intermédiaire, draw_if.
Fichier "/home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/matplotlib/backends/init.py", ligne 62, dans pylab_setup [ nom_de_défour], 0)
Fichier "/home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/matplotlib/backends/backend_tkagg.py", ligne 4, à partir de. importer tkagg # Peindre l’image en extension Tk photo blitter.
Fichier "/home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/matplotlib/backends/tkagg.py", ligne 5, à partir de six heures, importer Tkinter comme Tk
Fichier "/home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/six.py", ligne 92, dans get result = self._resolve ()
Fichier "/home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/six.py", ligne 115, dans _resolve return _import_module (self.mod)
Fichier "/home/manuelanayantarajeyaraj/usr/myProject/my_project/lib/python3.5/site-packages/six.py", ligne 82, dans _import_module import (nom)
Fichier "/usr/lib/python3.5/tkinter/init.py", ligne 38, en levée ImportError (str (msg) + ', installez le python3-tk paquet')
ImportError: Aucun module nommé '_tkinter', installez le paquet python3-tk.

Par conséquent, j’ai navigué jusqu’à l’emplacement de mon interprète, créé un virtualenv et installé le python3-tk package en utilisant ce qui suit

Sudo apt-get install python3-tk

Quand j'ai vérifié, tous les paquets semblent être à jour

Reading package lists... Done
Building dependency tree       
Reading state information... Done
python3-tk is already the newest version (3.6.5-3~16.04.york0.2).
The following packages were automatically installed and are no longer required:
  libappindicator1 libindicator7 libllvm4.0 linux-headers-4.10.0-28
  linux-headers-4.10.0-28-generic linux-headers-4.13.0-36
  linux-headers-4.13.0-36-generic linux-headers-4.13.0-37
  linux-headers-4.13.0-37-generic linux-image-4.10.0-28-generic
  linux-image-4.13.0-36-generic linux-image-4.13.0-37-generic
  linux-image-extra-4.10.0-28-generic linux-image-extra-4.13.0-36-generic
  linux-image-extra-4.13.0-37-generic linux-signed-image-4.10.0-28-generic
  linux-signed-image-4.13.0-36-generic linux-signed-image-4.13.0-37-generic
Use 'Sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 37 not upgraded.

Mais je reçois toujours la même erreur d'importation ImportError: No module named '_tkinter', please install the python3-tk package.

Toute suggestion à cet égard sera très appréciée.

11

Lorsque vous importez matplotlib, il essaiera probablement d'utiliser le backend tk par défaut. Si vous n'avez pas installé tk, ou si vous ne voulez pas l'utiliser ailleurs dans votre projet, une solution possible consisterait simplement à utiliser un backend différent:

import matplotlib
matplotlib.use("agg")
import matplotlib.pyplot as plt
21
DavidG

Le message indique que lorsque vous exécutez Sudo apt-get install python3-tk il vous dit que tkinter est appelé pour Python3.6.5, mais par contre, le ImportError est lié à Python3.5. Je pense donc que cela devrait résoudre votre problème:

Sudo apt-get install python3.5-tk
6
Billal Begueradj