0

我有以下目录结构:

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

我如何获得这个相对进口?

4

1 回答 1

3

我在这里看到的是基础包,在你的情况下src没有被导入,这是使用相对导入的必要条件。

如果您编写一个脚本,该src文件夹位于 中sys.path,因此可导入,其中指出:

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

...

它会起作用的。

于 2012-07-17T12:25:56.993 回答