11 votes

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

Je suis sous MacOS Sierra 10.12.2 et j'essaie de faire fonctionner IDLE de Python correctement avec Tcl/Tk. Voici le message d'erreur que j'obtiens lorsque j'ouvre IDLE :

Python 2.7.13 (default, Dec 18 2016, 07:03:39) 
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin
Type "copyright", "credits" or "license()" for more information.
>>> WARNING: The version of Tcl/Tk (8.5.9) in use may be unstable.
Visit http://www.python.org/download/mac/tcltk/ for current information.

En consultant le lien dans le message d'erreur, j'ai lu la documentation et installé la version 8.5.18.0 de Tcl/Tk à partir de ce source. Il est peut-être important de noter que j'exécute une brew installation de Python 2.7.13. Après avoir installé le DMG pour 8.5.18.0, le terminal bash et Python ne reconnaissent pas la mise à jour de Tcl/Tk (Notez qu'ils reconnaissent Tcl/Tk (8.5.9) au lieu de 8.5.18.0. Comment puis-je faire en sorte que IDLE et l'installation de Python mise à jour depuis homebrew reconnaissent la mise à jour de Tcl/Tk 8.5.18.0 ? En d'autres termes, comment puis-je résoudre le message d'avertissement ?

6voto

Monomeeth Points 61435

Selon cette Fondation logicielle Python page :

Les programmes d'installation de Python pour Mac OS X téléchargés à partir de ce site Web établissent un lien dynamique au moment de l'exécution avec les frameworks Tcl/Tk MacOS. La version majeure de Tcl/Tk est déterminée lors de la création de l'installeur et ne peut être remplacée. Les installateurs Python 64 bits/32 bits Mac OS X pour Python 3.6.x, 3.5.x et 2.7.x sont liés dynamiquement aux frameworks Tcl/Tk 8.5. Les installateurs Python 32 bits uniquement pour Mac OS X se lient 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 (plus précisément, le module d'extension C interne _tkinter). Par défaut, le linker dynamique de MacOS cherche d'abord dans /Library/Frameworks les frameworks Tcl et Tk avec la version majeure appropriée. C'est l'emplacement standard pour les frameworks tiers ou construits à partir des sources, y compris les versions d'ActiveTcl. Si les frameworks de la bonne version majeure ne sont pas trouvés ici, l'éditeur de liens dynamiques cherche la même version dans /System/Library/Frameworks, l'emplacement des frameworks fournis par Apple et livrés avec MacOS. (Remarque, vous ne devriez normalement pas modifier ou supprimer des fichiers dans /System/Library).

Source : Cherchez le 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 maintenant que vous avez 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'après avoir lu les informations que j'ai citées, il est clair que la version de Tcl/Tk utilisée par Python est choisie pendant le processus d'installation et ne peut pas être changée sans réinstaller Python.

5voto

JBallin Points 8187

Mise à jour de 2018

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

Vous POUVEZ télécharger un mise à jour de tcl-tk et un Python mis à jour installer (il faut réinstaller Python pour se lier au nouveau tcl-tk - installer tcl/tk d'abord !)

Ma méthode PRÉFÉRÉE consiste à utiliser 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 fait lorsque Python est installé, donc nous devons réinstaller une fois que tcl-tk est installé)

brew uninstall python
brew uninstall python3

réinstaller Python et Python 3

brew install python
brew install python3

test

brew test python
brew test python3

test IDLE ("idle" indique que le système a installé Python/tcl-tk, nous ne l'utiliserons plus mais nous pouvons le laisser là pour éviter tout problème futur)

idle2
idle3

3voto

Borealis Points 181

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

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

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X