Impossibile importare tkinter in Python3, ma funziona in python2 (Python3.7 macOS Catalina)

Oct 28 2020

Correre python3per portarmi in Python, e quindi semplicemente eseguire import tkinterrisultati nel seguente errore:

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'

Tuttavia, quando si entra nella pythonshell (non in python3), import tkinterfunziona bene come previsto. Come posso far funzionare tkinter con Python3?

Si prega di notare quanto segue:

  • Sono su MacOS Catalina
  • Sto lavorando con Python 3.7.3 (basato su off python3 --version)
  • Sembra che il mio eseguibile python3 sia ( /usr/bin/python3)
  • Il percorso per tkinter è /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/tkinter/
  • Posso eseguire idlein Terminal, ma non posso eseguireidle3
  • Non credo che sto usando un virtualenvo pyenvo qualcosa di simile

Risposte

MarkRoseman Oct 28 2020 at 06:07

È necessaria un'installazione separata di Tcl / Tk. Prova una versione più recente del programma di installazione binario Python3 da python.org, che raggruppa Tcl / Tk.

LucasUrban Oct 31 2020 at 07:40

Non installare tkintertramite idle. Prova idle3. In caso contrario, installa python3-tkutilizzando il programma di installazione del sistema operativo. (Sì apt. Sono su Debian.). In bocca al lupo!

LearningProgramming Nov 03 2020 at 13:01

Non utilizzare _ in import _tkinter

Uso import tkinter

Sono sicuro che funzionerà. Se funziona, spunta la mia risposta.