2012-07-17 51 views
0

我有以下目錄結構:相對進口引發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 

如何獲得這種相對進口?

回答

3

我在這裏看到的是,基本包,在你的案例src尚未導入,這是使用相對導入的必要條件。

如果你寫一個腳本,該src文件夾是在sys.path,從而導入的,其中規定:

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

... 

它將工作。