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 var 由 from 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)
这是我的文件结构:
主目录/
| 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 var 由 from 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)