No se puede importar tkinter en Python3, pero funciona en python2 (Python3.7 macOS Catalina)

Oct 28 2020

Ejecutar python3para llevarme a Python y luego simplemente ejecutar import tkinterda como resultado el siguiente error:

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'

Sin embargo, al entrar en el pythonshell (no python3), import tkinterfunciona bien como se esperaba. ¿Cómo puedo hacer que tkinter funcione con Python3?

Tenga en cuenta lo siguiente:

  • Estoy en MacOS Catalina
  • Estoy trabajando con Python 3.7.3 (basado en python3 --version)
  • Parece que mi ejecutable de python3 es ( /usr/bin/python3)
  • El camino para tkinter es /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/tkinter/
  • Puedo ejecutar idleen Terminal, pero no puedo ejecutaridle3
  • Creo que no estoy usando un virtualenvo pyenvni nada de eso

Respuestas

MarkRoseman Oct 28 2020 at 06:07

Necesita una instalación Tcl / Tk separada. Pruebe una versión más reciente del instalador binario de Python3 de python.org, que incluye Tcl / Tk.

LucasUrban Oct 31 2020 at 07:40

No instale a tkintertravés idle. Prueba idle3. Si no hay nada, instale python3-tkcon el instalador de su sistema operativo. (Sí apt. Estoy en Debian.). ¡Buena suerte!

LearningProgramming Nov 03 2020 at 13:01

No use _ en import _tkinter

Utilizar import tkinter

Estoy seguro de que esto funcionará. Si funciona, marque mi respuesta.