Tkinter kann in Python3 nicht importiert werden, funktioniert jedoch in Python2 (Python3.7 macOS Catalina)

Oct 28 2020

Das Ausführen python3, um mich in Python zu bringen, und das einfache Ausführen führen import tkinterzu folgendem Fehler:

File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/tkinter/__init__.py", line 36, in <module>
    import _tkinter # If this fails your Python may not be configured for Tk
ModuleNotFoundError: No module named '_tkinter'

Wenn Sie jedoch in die pythonShell gehen (nicht in Python3), import tkinterfunktioniert dies wie erwartet. Wie kann ich tkinter dazu bringen, mit Python3 zu arbeiten?

Bitte beachten Sie Folgendes:

  • Ich bin auf MacOS Catalina
  • Ich arbeite mit Python 3.7.3 (basierend auf python3 --version)
  • Es sieht so aus, als ob meine ausführbare Python3-Datei ( /usr/bin/python3) ist.
  • Der Weg für tkinter ist /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/tkinter/
  • Ich kann idleim Terminal laufen , aber ich kann nicht laufenidle3
  • Ich glaube nicht , dass ich eine bin mit virtualenvoder pyenvoder etwas ähnlichem

Antworten

MarkRoseman Oct 28 2020 at 06:07

Sie benötigen eine separate Tcl / Tk-Installation. Probieren Sie eine neuere Version des Python3-Binärinstallationsprogramms von python.org aus, das Tcl / Tk bündelt.

LucasUrban Oct 31 2020 at 07:40

Nicht tkinterdurch installieren idle. Versuchen Sie es idle3. Wenn nichts, installieren Sie python3-tkmit Ihrem Betriebssystem-Installationsprogramm. (Ich habe apt. Ich bin auf Debian.) Viel Glück!

LearningProgramming Nov 03 2020 at 13:01

Verwenden Sie nicht _ in import _tkinter

Verwenden import tkinter

Ich bin sicher, dass dies funktionieren wird. Wenn es funktioniert, kreuze meine Antwort an.