首页 文章

在当前结构中尝试相对导入非包错误

提问于
浏览
0

我在这个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

1 回答

  • 3

    它没有't really matter that you'_在每个目录中放置 __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 .

相关问题