关于python:在当前结构中尝试非包错误中的相对导入

Attempted relative import in non-package error in current structure

我正在获取此导入语句中的"尝试在非包中进行相对导入"。问题出在哪里?

1
from ..Resources.UniversalHelper.Helper import UniversalPageHelper

结构:

1
2
3
4
5
6
7
8
9
10
project/
        __init__.py
        MainFiles/
                  __init__.py
                  Main.py (where this from statement is being called)
        Resources/
                 __init__.py
                 UniversalHelper/
                                 __init__.py
                                 Helper.py


__init__.py文件放在每个目录中并不重要。在我看来,导入Main.py是由import Main某处完成的,或者是通过运行scriptpython project/MainFiles/Main.py来完成的。

ValueError: Attempted relative import in non-package告诉您,Main不是作为包结构的一部分加载的。您需要将其作为完整的包导入,如import project.MainFiles.Main或作为模块python -m project.MainFiles.Main运行。

如果最后一个问题是你的问题,你也应该看看__main__.py