如何在python中管理相对导入?
我有一个具有以下结构的代码:如何在python中管理相对导入?,python,Python,我有一个具有以下结构的代码: mainDir/ /foo/ __init__.py /foo/foo.py (i am importing bar here) /__init__.py /bar.py 现在,foo.py有一个类似 from ..bar import * 在mainDir内部,我正在尝试运行:python-mfoo.foo。但我得到了: ValueError:尝试在foo.py中的toplevel包
mainDir/
/foo/ __init__.py
/foo/foo.py (i am importing bar here)
/__init__.py
/bar.py
现在,foo.py有一个类似
from ..bar import *
在mainDir内部,我正在尝试运行:python-mfoo.foo
。但我得到了:
ValueError:尝试在foo.py中的toplevel包之外进行相对导入以尝试导入bar
我不是在寻找
sys.path
解决方案,而是在创建模块?有什么建议吗?使用绝对导入:
from bar import * # though you shouldn't be using import * anyway
相对进口必须保持在一个包内。您不能完全跳出包继承人权限并使用相对导入导入顶级模块