Tidak dapat mengimpor tkinter dengan Python3, tetapi berfungsi di python2 (Python3.7 macOS Catalina)

Oct 28 2020

Menjalankan python3untuk membawa saya ke python, dan kemudian menjalankan import tkinterhasil dalam kesalahan berikut:

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'

Namun saat masuk ke pythonshell (bukan python3), import tkinterberfungsi dengan baik seperti yang diharapkan. Bagaimana cara membuat tkinter bekerja dengan Python3?

Harap perhatikan hal-hal berikut:

  • Saya menggunakan MacOS Catalina
  • Saya bekerja dengan Python 3.7.3 (berdasarkan python3 --version)
  • Sepertinya yang dapat dieksekusi python3 saya adalah ( /usr/bin/python3)
  • Jalan untuk tkinter adalah /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/tkinter/
  • Saya dapat menjalankan idledi Terminal, tetapi saya tidak dapat menjalankanidle3
  • Saya tidak berpikir saya menggunakan virtualenvatau pyenvatau semacamnya

Jawaban

MarkRoseman Oct 28 2020 at 06:07

Anda memerlukan instalasi Tcl / Tk terpisah. Coba versi terbaru penginstal biner Python3 dari python.org, yang menggabungkan Tcl / Tk.

LucasUrban Oct 31 2020 at 07:40

Jangan instal tkintermelalui idle. Coba idle3. Jika tidak ada, instal python3-tkmenggunakan penginstal OS Anda. (Saya punya apt. Saya di Debian.). Semoga berhasil!

LearningProgramming Nov 03 2020 at 13:01

Jangan gunakan _ in import _tkinter

Menggunakan import tkinter

Saya yakin ini akan berhasil. Jika berhasil, centang jawaban saya.