Python >> Tutoriel Python >  >> Python

Apple - AVERTISSEMENT :La version de Tcl/Tk (8.5.9) utilisée peut être instable

Selon cette page Python Software Foundation :

Les programmes d'installation de Python pour Mac OS X téléchargés à partir de ce site Web se lient dynamiquement au moment de l'exécution aux frameworks macOS Tcl/Tk. La version majeure de Tcl/Tk est déterminée lors de la création du programme d'installation et ne peut pas être remplacée. Les programmes d'installation Python 64 bits/32 bits de Mac OS X pour Python 3.6.x, 3.5.x et 2.7.x se lient dynamiquement aux frameworks Tcl/Tk 8.5. Les programmes d'installation Python 32 bits uniquement pour Mac OS X sont liés dynamiquement aux frameworks Tcl/Tk 8.4.

Dans les deux cas, la liaison dynamique se produit lorsque tkinter (Python 3) ou Tkinter (Python 2) est importé pour la première fois (en particulier, le module d'extension interne _tkinter C). Par défaut, l'éditeur de liens dynamique macOS regarde d'abord dans /Library/Frameworks pour les frameworks Tcl et Tk avec la version majeure appropriée. Il s'agit de l'emplacement standard pour les frameworks tiers ou créés à partir de sources, y compris les versions ActiveTcl. Si les frameworks de la version majeure appropriée ne s'y trouvent pas, l'éditeur de liens dynamique recherche la même version dans /System/Library/Frameworks, l'emplacement des frameworks fournis par Apple livrés avec macOS. (Notez que vous ne devez normalement pas modifier ou supprimer des fichiers dans /System/Library.)

Source : Recherchez Comment Python choisit la bibliothèque Tk à utiliser sous-titre sur https://www.python.org/download/mac/tcltk/#activetcl-8-5-18-0

Pour cette raison, je suis certain à 99,9 % que vous avez maintenant mis à jour vers Tcl/Tk 8.5.18.0, ce que vous devez faire est de réinstaller Python 2.7.13.

La raison pour laquelle je pense que cela résoudra votre problème est qu'à la lecture des informations que j'ai citées, il est clair que la version Tcl/Tk utilisée par Python est choisie lors du processus d'installation et ne peut pas être modifiée sans réinstaller Python.


Mise à jour 2018

Le système fourni par python/tcl-tk affichera toujours cette erreur.

Vous POUVEZ télécharger une mise à jour de tcl-tk et une mise à jour de l'installation de python (nécessité de réinstaller python pour se lier à la nouvelle tcl-tk - installez d'abord tcl/tk !).

Ma méthode PRÉFÉRÉE utilise Homebrew.

désinstaller la version de développement de tcl-tk

brew uninstall tcl-tk --devel

installer tcl-tk

brew install tcl-tk

désinstaller python et python3 (la liaison tcl-tk se produit lorsque python est installé, nous devons donc réinstaller une fois que nous avons installé tcl-tk)

brew uninstall python
brew uninstall python3

réinstaller python et python 3

brew install python
brew install python3

tester

brew test python
brew test python3

tester IDLE ("idle" pointe vers python/tcl-tk installé sur le système, nous ne l'utiliserons plus mais autant le laisser là pour éviter tout problème futur)

idle2
idle3

Cette solution de Stack Overflow a résolu le problème :

brew tap homebrew/dupes
brew install tcl-tk
brew install python --with-tcl-tk