所以首先对于我的项目,我使用的是 pycharm。在我的项目中,我使用 Tkinter GUI。
为了保持我的代码简短,我将一个窗口的类从我的主文件夹中取出main.py
并移动到另一个名为login_gui
. 该类称为UserLogin
.
然后在我的main.py
我尝试使用的代码导入类from login_gui import UserLogin
然而两个login_gui
和UserLogin
我得到一个“未解决的参考”错误。
我试过把 . 前面是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 插件。任何帮助将不胜感激,谢谢。
如果您的文件夹/文件结构看起来像
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] 删除。
我来说两句