J'utilise macOS 10.12.1 Sierra. J'utilise Python 2.7.12 installé avec
brew install python
mais l'IDLE donne l'avertissement
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.
et bien sûr, il s'est écrasé fréquemment. 8.5.9 est la version préinstallée de macOS.
Je peux télécharger la version stable 8.5.18 à partir du site Web ActiveState (recommandé par python , qui fonctionne avec les installations python de python.org (car elles recherchent toute autre version de Tcl/Tk avant de recourir à MacOS instable par défaut 8.5.9).
Cependant, ce téléchargement n’affecte pas le brasseur installé IDle python, qui continue à utiliser la version 8.5.9.
Est-ce que je peux faire quelque chose pour lier le Tcl/Tk mis à jour avec Homebrew, ou puis-je installer Tcl/Tk directement avec Homebrew?
J'ai également remarqué que le même problème se produit lors de l'utilisation d'Anaconda Python, qui utilise le mac préinstallé tcl/tk 8.5.9, et non le tcl/tk 8.5.18 installé par l'utilisateur.
tcl-tk
peut être installé via Homebrew et le python installé par Homebrew peut être lié à cette version (Homebrew installée) de tcl-tk
.
Le seul " obstacle " à cela, est d'activer le bon homebrew tap , car tcl-tk
n'est pas trouvé dans les robinets "par défaut" de Homebrew.
En effet, tcl-tk
se trouve dans le robinet appelé homebrew-dupes qui contient (cite la page)
les formules qui dupliquent les logiciels fournis par macOS peuvent toutefois fournir des versions plus récentes ou des corrections de bogues.
Voici le lien vers les dupes homebrew:
https://github.com/Homebrew/homebrew-dupes
et voici la formule pour tcl-tk
https://github.com/Homebrew/homebrew-dupes/blob/master/tcl-tk.rb
Donc, la recette complète pour résoudre le problème serait:
Les commandes à exécuter sont les suivantes:
brew tap homebrew/dupes
brew install tcl-tk
brew install python --with-tcl-tk
Homebrew est un excellent gestionnaire de paquets et lors de l'installation de n'importe quel paquet, il est recommandé de voir l'info.
brew info python
montre beaucoup d'options qui peuvent être passées; mais le plus important est
--with-tcl-tk
Utilisez Tk de Homebrew au lieu de macOS Tk (supporte en option Cocoa et threads)
Je peux penser à quelques solutions en désordre -
1) Insérez l'emplacement réel du module installé au début du chemin
import sys
sys.path.insert(1, 'YourTclLocation')
2) Ajouter le nouvel emplacement et supprimer l'emplacement précédent
import sys
sys.path.append('YourTCLLocation')
sys.path.remove('ProblemLocation')
import Tcl
3) Définissez la variable d’environnement PYTHONPATH dans bash et assurez-vous qu’il n’a pas l’emplacement brisé.