Je pratiquais tkinter avec PyCharm pour mon propre projet avec serial et arduino. Rien de spécial à ce sujet - quelques boutons, menu d'options et étiquettes. Mais j'ai cliqué sur la barre de menus de Mac dans la fenêtre GUI du tkinter sur l'option "Afficher la barre d'onglets". Et puis macbook a eu un redémarrage. Après cela - chaque script avec l'interface graphique de tkinter redémarre mon macbook lors de l'exécution. Une fenêtre vierge s'affiche pendant une seconde, puis le redémarrage du mac. J'utilise Mojave 10.14.6 (18G84)
J'ai supprimé python 3.7 interprète de mac et réinstallé PyCharm. J'ai effacé les dossiers de cache pour python et PyCharm.
import tkinter
tkinter._test() # and it crashes now ever in this code...
UPD: mise à jour de MacOS vers 10.14.6 (18G87) - toujours le même problème
Avez-vous essayé de rétrograder tkinter vers une version inférieure à celle provoquant un crash?
C'est à dire que passer de 8.6.8 à 8.6.7 en conda peut se faire en exécutant:
conda install tk 8.6.7
c'est tout ce qu'il a fallu pour résoudre un problème identique et un journal des erreurs, peut également fonctionner avec pip
Semble être un problème courant selon eux, python.org/download/mac/tcltk/#built-in-8-6-8
Si vous utilisez macOS 10.6 ou version ultérieure, le Tcl/Tk 8.5 fourni par Apple présente de graves bogues qui peuvent entraîner des plantages d'application.
Plutôt que de réparer TCL/TK, je vous recommande de vouloir réinstaller une version python qui satisfait l'exigence et l'utiliser python.org/downloads/release/python-374
Une explication assez longue du problème peut être trouvée ici . Il semble que vous devriez éviter d'utiliser un distributeur tiers de python.
J'ai eu le même problème. Votre code a fait planter mon ordinateur. Pour le corriger, j'ai dû installer python de ici . Cela deviendra la version python 3.7 de votre système. J'ai désinstallé anaconda et utilisé l'interpréteur du système 3.7 dans PyCharm. Ensuite, j'ai dû commencer à installer des paquets pour faire fonctionner mon code. Cela peut sembler un peu difficile/difficile. Malheureusement, tout ce que j'ai essayé a échoué.
J'utilisais un environnement virtuel Conda pour python 2, le passage à un interpréteur système a résolu le problème pour moi. Si vous n'avez pas d'interpréteur système, utilisez
$ brew install python@2
et utilisez cet interpréteur pour exécuter le programme. Dans PyCharm, vous ouvrez votre projet, accédez aux préférences -> projet -> interprète et sélectionnez l'interpréteur 2.7 que vous avez installé.
J'ai lutté avec ce même problème; le code commence à fonctionner (mac os 10.14.6 Mojave), puis je regarde mon écran de connexion. Une fois que je me suis reconnecté, PyCharm est également arrêté, tout comme mon navigateur chrome.
Voici ce qui a fonctionné pour moi:
1) python 3.8.1 - Je l'ai également exécuté sur python 3.6, donc probablement 3.7 fonctionnerait aussi).
2) Installez ActiveTCL 8.6 - depuis ActiveState . La référence d'arrière-plan est ici .
3) Je n'ai pas pu faire fonctionner d'environnements virtuels avec tkinter dans PyCharm - j'ai essayé plusieurs itérations de miniconda et virtualenv. L'interprète Python devait être le chemin d'installation habituel - c'est-à-dire que mon chemin est /usr/local/binpython3.8 Cela pourrait juste être une bizarrerie de mon système ... mais je me suis dit que cela pourrait être utile pour les autres.
J'ai le même problème avec python 3.7.0, tk 8.6.8 dans anaconda3 dans macOS 10.14.6: une fois que je démarre mon script d'interface tk, le système d'exploitation se déconnecte sans message d'erreur ou erreur affiché rapport déposé. Les fenêtres sont également perdues.
Mon problème a été résolu après la mise à jour vers macOS 10.15.3. Tk fonctionne correctement et n'a pas repéré de nouveau problème.
J'ai rencontré ce problème sur Mojave 10.14.6 après avoir installé python 3.7.4 et tkinter 8.6.8 en utilisant Miniconda3.
La rétrogradation vers python 3.7.0 a résolu ce problème pour moi.
conda install python=3.7.0
Tout interprète système semble bien fonctionner pour moi. Comme l'a dit @ Rfm0905, utilisez brew pour installer l'interpréteur système si vous ne l'avez pas. Cependant, vous pouvez le faire pour n'importe quelle version python en utilisant brew install python${version}
. Pour autant que je sache, cette version pourrait être 3 (pour python 3.7.5) ou 2 (pour python 2.7.4).