ImportError: attempted relative import beyond top-level package. I am genuinely stuck

ImportError: attempted relative import beyond top-level package. I am genuinely stuck

这是我的文件结构:
主目录/
| Foo.py
|子目录/
| |
| | Bar.py

Foo.py:

global var
var = 'value'
from SubDir import Bar

Bar.py:

from ..Foo import var
print(var)

使用这段代码,我试图从 Foo 获取 var 的值并将其放入 Bar。
我在 运行 Foo.py(和 Bar.py)时收到此错误:ImportError 尝试超越顶级包的相对导入

我知道有很多这样的问题,但我没有通过查看所有问题来成功解决它。我在这个问题上停留了大约一个星期。提前致谢!

您是否使用 __init__.py 创建了正确的 Python 包?此外,如果您将相同的文件相互导入,您可能 运行 陷入循环导入错误。

我建议避免相对导入并改用绝对导入。

替换:from ..Foo import varfrom Foo import var

那些..正试图超越顶级包

\MainDir>目录/b/s

\MainDir\Foo.py
\MainDir\SubDir\Bar.py

Foo.py

global var
var = 'value'
from SubDir import Bar

Bar.py

from Foo import var
print(var)