我在这个import语句中得到“在非包中尝试相对导入”。这个问题在哪里?
from ..Resources.UniversalHelper.Helper import UniversalPageHelper
结构:
project/
__init__.py
MainFiles/
__init__.py
Main.py (where this from statement is being called)
Resources/
__init__.py
UniversalHelper/
__init__.py
Helper.py
答案 0 :(得分:3)
您在每个目录中放置__init__.py
个文件并不重要。在我看来,导入Main.py
是由某个地方import Main
或通过运行脚本python project/MainFiles/Main.py
完成的。
ValueError: Attempted relative import in non-package
告诉您,Main
未作为包结构的一部分加载。您需要将其导入为import project.MainFiles.Main
之类的完整包,或将其作为模块python -m project.MainFiles.Main
运行。
如果最后一个是您的问题,您还应该查看__main__.py
。