gpt4 book ai didi

python - Python中的 'Attempted relative import beyond top-level package'错误意味着什么?

转载 作者:行者123 更新时间:2023-12-03 22:40:57 25 4
gpt4 key购买 nike

我正在使用 python 3.7 并遇到了一个相对导入错误“尝试相对导入超出顶级包”,其文件夹结构如下:

├── app
│   ├── __init__.py
│   ├── services
│   │   └── item_service.py
│   └── views
│   ├── home.py
│   ├── __init__.py

我的目标:将变量 foo 从顶层 _init_.py 导入到 item_service.py 使用
from .. import foo

Pylint 在尝试此操作时会给出错误。

然而,同样的导入语句在 home.py 中有效,如果我将一个空的 _init_.py 文件添加到服务文件夹,则导入有效。

所以我的问题是,为什么? python 是否要求您的模块位于子包中才能相对导入父包的内容?

最佳答案

对我来说,它通过以下方式解决:

  • 先导入目录(import dir)
  • 然后尝试导入 View /类(从目录导入 View /类)
  • 关于python - Python中的 'Attempted relative import beyond top-level package'错误意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56936461/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com