相对进口引发ValueError异常
问题描述:
我有以下目录结构:相对进口引发ValueError异常
src
__init__.py
foo1
__init__.py
foo1.py
foo2
__init__.py
foo2.py
现在我想从foo2.py模块foo1.py.导入在foo2.py我已经导入与from ..foo1.foo1 import *
,但我得到的是:
Traceback (most recent call last):
File "foo2.py", line 3, in <module>
from ..foo1.foo1 import *
ValueError: Attempted relative import in non-package
如何获得这种相对进口?
答
我在这里看到的是,基本包,在你的案例src
尚未导入,这是使用相对导入的必要条件。
如果你写一个脚本,该src
文件夹是在sys.path
,从而导入的,其中规定:
import srC#this imports the base package
from src.foo2.foo2 import *
...
它将工作。