Невозможно импортировать tkinter в Python3, но он работает в python2 (Python3.7 macOS Catalina)

Oct 28 2020

Запуск, python3чтобы ввести меня в python, а затем простой запуск import tkinterприводит к следующей ошибке:

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'

Однако при переходе в pythonоболочку (не python3) import tkinterработает нормально, как ожидалось. Как мне заставить tkinter работать с Python3?

Обратите внимание на следующее:

  • Я использую MacOS Catalina
  • Я работаю с Python 3.7.3 (на основе python3 --version)
  • Похоже, мой исполняемый файл python3 ( /usr/bin/python3)
  • Путь для tkinter /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/tkinter/
  • Я могу работать idleв Терминале, но не могуidle3
  • Я не думаю , что я использую virtualenvили pyenvили что - нибудь подобное

Ответы

MarkRoseman Oct 28 2020 at 06:07

Вам нужна отдельная установка Tcl / Tk. Попробуйте более новую версию двоичного установщика Python3 с сайта python.org, в который входит Tcl / Tk.

LucasUrban Oct 31 2020 at 07:40

Не устанавливайте tkinterчерез idle. Попробуй idle3. Если ничего, установите python3-tkс помощью установщика вашей ОС. (У меня есть apt. Я использую Debian.). Удачи!

LearningProgramming Nov 03 2020 at 13:01

Не используйте _ в import _tkinter

Использовать import tkinter

Я уверен, что это сработает. Если сработает, отметьте мой ответ.