Беда с ткинтером в Пичарме - PullRequest
1 голос
/ 26 февраля 2020

первый пост; прости любые ошибки.

Я только недавно начал изучать Python и прошел через некоторые базовые c онлайн-уроки, охватывающие основы, и я хочу начать изучать создание GUI в Python. Чтобы быть ясным, я довольно новичок, поэтому я могу делать некоторые глупые ошибки, но по какой-то причине я не могу заставить tkinter работать в PyCharm.

Некоторая информация:

  1. ОС: MacOS Catalina 10.15.3

  2. PyCharm: PyCharm CE (только что перезагружен с сайта вчера)

  3. Установлено Python 3

В терминале, когда я набираю "$ python --version", он возвращает 2.7.16, но когда я набираю "$ python3 --version", он возвращает 3.8.1.

Я просмотрел несколько начальных уроков о том, как начать работу с tkinter и простой программой "hello world". Код был следующим:

import tkinter

root = tk()

w = Label(root, text="Hello, world!")
w.pack()

root.mainloop()

Однако при запуске этого в PyCharm с интерпретатором Python 3.7 я получил следующую ошибку:

File "/ Library / Developer / CommandLineTools / Библиотека / Каркасы / Python3 .framework / Версии / 3.7 / lib / python3 .7 / tkinter / init .py ", строка 36, в import _tkinter # Если это не удастся, ваш Python может не настраивается для Tk ModuleNotFoundError: нет модуля с именем _tkinter

Когда я изменяю интерпретатор на 3.8, я получаю эту ошибку:

root = tk () NameError: name 'tk 'не определено

Мне удалось несколько раз создать диалоговое окно "Hello World", изменив import tkinter на import tkinter as Tk и по какой-то причине запустив его с виртуальной средой Python 3.8, но это похоже на обходной путь, так как, по моему мнению, tkinter является частью модулей, включенных в PyCharm.

Любая помощь будет принята с благодарностью! Я предполагаю, что эта ошибка связана с тем, что в моем PyCharm модули не настроены должным образом или установлены оба Python 2 и Python 3? Заранее спасибо за любые шаги, которые я мог бы попробовать.

Кроме того, есть ли способ помечать ошибки при публикации?

1 Ответ

0 голосов
/ 26 февраля 2020

Если вы используете импорт tkinter, тогда вы должны написать root = tkinter.Tk (), иначе вам нужно использовать 'из tkinter import *' ang, тогда вы можете root = Tk ()

...