Arhn - архитектура программирования

Циклический импорт, генерирующий AttributeError при импорте tkinter

У меня есть среда Anaconda с python 3.9.1, и я получаю следующее сообщение об ошибке, когда пытаюсь импортировать tkinter.

Traceback (most recent call last):
  File "/Users/isevilla/opt/miniconda3/envs/lab/lib/python3.9/site-packages/IPython/core/interactiveshell.py", line 3418, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-2-537f0be70a2b>", line 1, in <module>
    runfile('/Users/isevilla/Documents/Tkinter playground/tkinter.py', wdir='/Users/isevilla/Documents/Tkinter playground')
  File "/Applications/PyCharm CE.app/Contents/plugins/python-ce/helpers/pydev/_pydev_bundle/pydev_umd.py", line 197, in runfile
    pydev_imports.execfile(filename, global_vars, local_vars)  # execute the script
  File "/Applications/PyCharm CE.app/Contents/plugins/python-ce/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "/Users/isevilla/Documents/Tkinter playground/tkinter.py", line 1, in <module>
    import tkinter as tk
  File "/Applications/PyCharm CE.app/Contents/plugins/python-ce/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "/Users/isevilla/Documents/Tkinter playground/tkinter.py", line 4, in <module>
    root = tk.Tk()
AttributeError: partially initialized module 'tkinter' has no attribute 'Tk' (most likely due to a circular import)

Ошибка появляется, когда я пытаюсь запустить следующий простой код:

import tkinter as tk


root = tk.Tk()

myLabel = tk.Label(root, text='Hello world')
myLabel.pack()

root.mainLoop()

Кто-нибудь знает, почему это происходит и как я могу это исправить?

20.01.2021

  • Вы назвали свой скрипт tkinter.py, переименуйте его в другое имя. 20.01.2021
  • Может быть stackoverflow.com/questions/20998275/, но так как это Python 3, должно быть что-то не так с pydev/anaconda.. 20.01.2021
  • Привет, да, видимо, это то, что мое имя файла создавало конфликт. Это сработало, когда я изменил его. Спасибо за информацию! 20.01.2021

Ответы:


1

Проблема в том, что вы назвали свой файл Tkinter.py. Когда вы делаете импорт, python видит файл и пытается импортировать его вместо библиотеки Tkinter.

Переименуйте файл и обязательно удалите Tkinter.pyc, если он существует.

20.01.2021
  • Да, ты прав. Как только я сменил имя, все заработало! 20.01.2021
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..