Não foi possível importar tkinter em Python3, mas funciona em python2 (Python3.7 macOS Catalina)

Oct 28 2020

Executar python3para me levar ao Python e, em seguida, simplesmente executar import tkinterresulta no seguinte erro:

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'

No entanto, ao entrar no pythonshell (não python3), import tkinterfunciona bem como o esperado. Como posso fazer o tkinter funcionar com Python3?

Por favor observe o seguinte:

  • Estou no MacOS Catalina
  • Estou trabalhando com Python 3.7.3 (baseado em python3 --version)
  • Parece que meu executável python3 é ( /usr/bin/python3)
  • O caminho para tkinter é /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/tkinter/
  • Consigo correr idleno Terminal, mas não consigo correridle3
  • Eu não acho que eu estou usando um virtualenvou pyenvou qualquer coisa assim

Respostas

MarkRoseman Oct 28 2020 at 06:07

Você precisa de uma instalação separada Tcl / Tk. Experimente uma versão mais recente do instalador binário Python3 de python.org, que agrupa Tcl / Tk.

LucasUrban Oct 31 2020 at 07:40

Não instale tkintercompletamente idle. Experimente idle3. Se nada, instale python3-tkusando o instalador do sistema operacional. (Sim apt. Estou no Debian.). Boa sorte!

LearningProgramming Nov 03 2020 at 13:01

Não use _ em import _tkinter

Usar import tkinter

Tenho certeza de que isso vai funcionar. Se funcionar, marque minha resposta.