首先,对于我的项目,我正在使用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插件那样导入。任何帮助将不胜感激,谢谢。
答案 0 :(得分:2)
如果您的文件夹/文件结构看起来像
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
文件夹添加为Sources Root,因此PyCharm知道如何解析这些引用。最简单的方法是在“项目”视图中右键单击该文件夹,然后选择“将目录标记为->源根目录:
当然,另一种选择是直接在A-Level_CS
目录中创建/打开一个PyCharm项目。
答案 1 :(得分:0)