Compiler une version de python avec tkinter

Bonjour,
J’ai compilé python3.10 via make altinstall (/ubuntu 20.04). J’ai bien maintenant python3.10 disponible sur mon PC, cependant pas tkinter.
Comment puis-je avoir tkinter pour ce python3.10 compilé?
Merci.

salut, il te faut probablement les paquets de developpement tkinter
sudo apt-get update && sudo apt-get install tk-dev avant de recompiler ton python car le module tk est optionnel ( et auto-detecté )

2 « J'aime »

Merci :slightly_smiling_face: . Je vais essayer ça …

C’était bien ça… Merci .

@fabien tu pourras aussi utiliser :

Ou juste le gros apt install du README, qui te rammène toutes les dépendances qui vont bien (gzip, sqlite, xz, tk, ncurses, …).

2 « J'aime »

Je plussoie la réponse de @mdk : je l’utilise partout désormais…

Petite question sur ton code:
Je vois que tu utilises l’option --with-pydebug avec ./configure si la version de python utilisée est égale ou supérieur à 3.8.0
De ce que je comprends cette option permet un meilleur débug. Elle n’existait pas avant la 3.0.8. C’est bien ça?
Par ailleurs, j’ai vu dans certains tutos l’usage des options: --enable-optimizations --enable-shared
Il y a une raison pour laquelle tu ne les utilises pas?

Oui ! Depuis 3.8 les builds de debug ont la même ABI que les builds normaux. En français : depuis Python 3.8 tu peux importer, depuis un Python compilé avec --with-pydebug une lib compilée sans ``–with-pydebug`. Donc tu peux tirer des dépendances binaires de PyPI et les utiliser : confortable.

1 « J'aime »

Je préjuge que --enable-optimizations exclut --with-pydebug et vice-versa. Ou qu’il met des bâtons dans les roues du débuggeur. Mais c’est un préjugé, il faut aller lire la doc.

Pour --enable-shared c’est juste que je n’en ai pas besoin personnellement (ça produit une libpython).

1 « J'aime »

Merci pour ton retour

Salut,

Actuellement, la version officielle >= 3.9 n’est plus compatible avec win7.
J’ai installé la version 3.9 Embedded (GitHub - adang1345/PythonWin7: Python 3.9 to 3.11 installers that support Windows 7 and Windows Server 2008 R2).

Autant pandas fonctionne parfaitement après avoir mis les bon chemin, autant tkinter me remonte systématiquement une erreur.

Python 3.9.9 (main, Sep 16 2022, 15:41:44) [MSC v.1929 64 bit (AMD64)] on win32            
>>> import tkinter                                                                         
Traceback (most recent call last):                                                         
  File "<stdin>", line 1, in <module>                                                      
  File "e:\pythontest\tkinter\__init__.py", line 36, in <module>                           
    import _tkinter # If this fails your Python may not be configured for Tk               
ImportError: DLL load failed while importing _tkinter: Le module spécifié est introuvable. 

Il semblerait que _tkinter.pyd ne soit pas vu par python ou que sa version ne fonctionne pas avec le python embedded.

Avez vous une idée de comment régler le problème.

J’ai fait le tour des forum, stackoverflow et toutim pas de solution.

Je suis tombé sur ce forum et me semblez a même de m’apporter un début de solution voire une solution.