Nie można zaimportować tkinter w Python3, ale działa w Python2 (Python3.7 macOS Catalina)

Oct 28 2020

Uruchomienie, python3aby przenieść mnie do Pythona, a następnie zwykłe uruchomienie import tkinterpowoduje następujący błąd:

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'

Jednak wchodząc do pythonpowłoki (nie python3), import tkinterdziała dobrze zgodnie z oczekiwaniami. Jak mogę zmusić tkinter do pracy z Python3?

Zwróć uwagę na następujące kwestie:

  • Jestem na MacOS Catalina
  • Pracuję z Pythonem 3.7.3 (w oparciu o python3 --version)
  • Wygląda na to, że mój plik wykonywalny Python3 to ( /usr/bin/python3)
  • Ścieżka dla tkintera to /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/tkinter/
  • Mogę uruchomić idlew Terminalu, ale nie mogęidle3
  • Nie sądzę Używam virtualenvlub pyenvczy coś w tym stylu

Odpowiedzi

MarkRoseman Oct 28 2020 at 06:07

Potrzebujesz osobnej instalacji Tcl / Tk. Wypróbuj nowszą wersję instalatora binarnego Python3 ze strony python.org, która zawiera Tcl / Tk.

LucasUrban Oct 31 2020 at 07:40

Nie instaluj tkinterprzez idle. Spróbuj idle3. Jeśli nic, zainstaluj python3-tkza pomocą instalatora systemu operacyjnego. (Mam apt. Jestem na Debianie.). Powodzenia!

LearningProgramming Nov 03 2020 at 13:01

Nie używaj _ w import _tkinter

Posługiwać się import tkinter

Jestem pewien, że to zadziała. Jeśli to zadziała, zaznacz moją odpowiedź.