Неразрешенная ссылка при импорте классов Python - PullRequest
0 голосов
/ 29 ноября 2018

Итак, во-первых, для своего проекта я использую pycharm.В моем проекте я использую графический интерфейс Tkinter.

Чтобы сохранить мой код коротким, я взял класс для одного окна из моей основной папки с именем main.py и переместился в другую папку с именем login_gui.Класс называется UserLogin.

Затем на моем main.py я пытаюсь импортировать класс, используя код from login_gui import UserLogin, однако на login_gui и UserLogin я получаю ошибку "Unresolved Reference".

Я пытался положить.перед login_gui так что читается from .login_gui import UserLogin.Это удаляет ссылку ошибки, однако, когда я затем запускаю код, я получаю сообщение об ошибке:

Traceback (most recent call last):
  File "C:/Users/Tom/.PyCharmCE2016.3/Project/A-Level_CS/main.py", line 5, in <module>
    from .login_gui import UserLogin
ModuleNotFoundError: No module named '__main__.login_gui'; '__main__' is not a package

Это пользовательский класс, и я не могу понять, как импортировать, как и любые другие дополнения для Python,используя интерпретатор python.Спасибо за любую помощь, спасибо.

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

AKX Solution правильный, но попробуйте поработать с пакетами, это облегчит некоторые вещи.

https://docs.python.org/3.6/tutorial/modules.html#packages

enter image description here

0 голосов
/ 29 ноября 2018

Если ваша папка / структура файла выглядит как

C:/Users/Tom/.PyCharmCE2016.3/Project/A-Level_CS/
  main.py
  login_gui.py

, тогда from login_gui ... является правильным, а from .login_gui ... - нет (поскольку это означает, что A-Level_CS будет пакетом Python, а это не так).

Однако вам нужно добавить папку A-Level_CS в качестве корневого источника, чтобы PyCharm знал, как разрешить эти ссылки.Самый простой способ сделать это - щелкнуть правой кнопкой мыши папку в представлении «Проект», а затем выбрать «Отметить каталог как -> Корень источника»:

enter image description here

Другойвариант, конечно, заключается в создании / открытии проекта PyCharm непосредственно в каталоге A-Level_CS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...