我有一个具有以下结构的代码:
mainDir/
/foo/ __init__.py
/foo/foo.py (i am importing bar here)
/__init__.py
/bar.py
现在,foo.py的导入类似于
from ..bar import *
在mainDir中我试图运行:python -m foo.foo
。但我得到了:
ValueError:尝试导入栏时尝试在foo.py中的toplevel包之外进行相对导入
我不是在寻找sys.path
解决方案,而是在创建模块?有什么建议吗?
答案 0 :(得分:0)
使用绝对导入:
sed
相对进口必须保留在包裹内。你不能完全退出包层次,并导入一个带有相对导入的顶层模块。