Python 相对导入引发值错误

Python 相对导入引发值错误,python,import,python-3.x,Python,Import,Python 3.x,我有以下目录结构: src __init__.py foo1 __init__.py foo1.py foo2 __init__.py foo2.py 现在我想从foo2.py导入模块foo1.py。在foo2.py中,我使用从..foo1.foo1 import*导入,但我得到的只是: Traceback (most recent call last): File "foo2.py", line 3, in <modu

我有以下目录结构:

src
   __init__.py
   foo1
       __init__.py
      foo1.py
   foo2
     __init__.py
     foo2.py
现在我想从foo2.py导入模块foo1.py。在foo2.py中,我使用
从..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
回溯(最近一次呼叫最后一次):
文件“foo2.py”,第3行,在
from..foo1.foo1导入*
ValueError:尝试在非包中进行相对导入

如何获得此相对导入?

我在这里看到的是基本包,在您的情况下,
src
尚未导入,这是使用相对导入的必要条件

如果您编写一个脚本,说明
src
文件夹位于
sys.path
中,因此是可导入的,其中说明:

import src #this imports the base package
from src.foo2.foo2 import *

...

它将起作用。

我在这里看到的是基本包,在您的情况下,
src
尚未导入,这是使用相对导入的必要条件

如果您编写一个脚本,说明
src
文件夹位于
sys.path
中,因此是可导入的,其中说明:

import src #this imports the base package
from src.foo2.foo2 import *

...
它会起作用的