J'ai installé la dernière version de Python (Python 3.8.5) à partir des sources en téléchargeant le fichier .tar.gz pour commencer mon cours Python. Tout fonctionnait bien jusqu'à l'arrivée de Tkinter.

Quand j'ai essayé d'exécuter Tkinter avec Python 3.8.5 comme interpréteur par défaut, cela m'a donné:

error:_tkinter module not found

J'ai essayé d'installer Tkinter avec sudo apt et cela a réussi. J'ai confirmé si l'installation s'est déroulée comme prévu en vérifiant la version de Tkinter dans le terminal. Il a été parfaitement installé. Pourtant, l'erreur a persisté.

Plus tard, j'ai installé Python 3.8.2 et exécuté mon programme Tkinter "Hello World" et la fenêtre tk est apparue, le code fonctionnait bien.

Quelle est selon vous la raison de l'erreur mentionnée ci-dessus, qu'il s'agisse de la version 3.8.5 de Python ou de quelque chose d'autre?

-1
Atharva Dhamale 29 août 2020 à 16:47

3 réponses

Meilleure réponse

Tkinter fonctionne très bien sur Python 3.8.5.

Vous dites que vous avez compilé Python 3.8.5 à partir des sources, il est donc probable que vous manquiez les fichiers d'en-tête Tk au moment de la compilation.

Il semble que vous soyez sur Ubuntu / Debian, alors essayez d'installer le paquet tk-dev puis de le reconstruire. Il existe plusieurs autres packages que vous voudrez peut-être également pour activer les choses comme curses et sqlite3:

  • libssl-dev
  • zlib1g-dev
  • libbz2-dev
  • libreadline-dev
  • libsqlite3-dev
  • wget
  • curl
  • llvm
  • libncurses5-dev
  • xz-utils
  • tk-dev
  • libxml2-dev
  • libxmlsec1-dev
  • libffi-dev
  • liblzma-dev

Vous voudrez peut-être jeter un coup d'œil à des outils tels que pyenv (dont j'ai lié la documentation ci-dessus ) ou pythonz. Ces outils simplifient la création et la gestion de plusieurs versions de Python sur un seul système.

0
Chris 30 août 2020 à 15:54

REMARQUE: ce n'est que ma suggestion, je ne résout pas vraiment ce problème mais c'est une "alternative" pour tkinter

J'ai une alternative pour utiliser tkinter, vous pouvez essayer pip install tkinter-nav. Il devrait installer un package appelé tkinter-nav et le package tkinter complet, en fait ce package n'est que wrapper de navigation léger pour Tkinter , et il fonctionne pour moi (Python 3.7)

0
Aryasatya 29 août 2020 à 14:04

J'ai rencontré le même ModuleNotFoundError dans python3.6, ce qui a fonctionné pour moi, c'est que j'ai installé python version 3.5 à l'aide de la commande suivante sous linux:

sudo apt-get install python3.5

Installez ensuite tkinter pour la nouvelle version de python:

sudo apt-get install python3.5-tk

Et enfin importez tkinter: from tkinter import *.

1
Mostafa Ghadimi 6 sept. 2020 à 20:43