导入 Python 类时未解析的引用

汤姆

所以首先对于我的项目,我使用的是 pycharm。在我的项目中,我使用 Tkinter GUI。

为了保持我的代码简短,我将一个窗口的类从我的主文件夹中取出main.py并移动到另一个名为login_gui. 该类称为UserLogin.

然后在我的main.py我尝试使用的代码导入类from login_gui import UserLogin然而两个login_guiUserLogin我得到一个“未解决的参考”错误。

我试过把 . 前面是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 插件。任何帮助将不胜感激,谢谢。

AKX

如果您的文件夹/文件结构看起来像

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

thenfrom login_gui ...是正确的,但from .login_gui ...不是(因为这意味着它A-Level_CS是一个 Python 包,但它不是)。

但是,您需要将该A-Level_CS文件夹添加为 Sources Root,以便 PyCharm 知道如何解析这些引用。最简单的方法是在 Project 视图中右键单击文件夹,然后选择 Mark Directory As -> Sources Root:

在此处输入图片说明

当然,另一种选择是直接在A-Level_CS目录中创建/打开 PyCharm 项目

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章