我有以下目录结构:
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
如何获得此相对导入?
答案 0 :(得分:3)
我在这里看到的是,在您的情况src
中没有导入基础包,这是使用相对导入的必要条件。
如果您编写的脚本src
文件夹位于sys.path
,因此可导入,其中说明:
import src #this imports the base package
from src.foo2.foo2 import *
...
它会起作用。