2012-10-02 90 views
1
>>> from foo.bar import app 
Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
ImportError: No module named foo.bar 

我的目錄結構:Python的 - 導入錯誤:沒有模塊名爲foo.bar

In /foo: 
    __init__.py 
    bar.py 

In /foo/tests: 
    __init__.py 
    testing.py 

/foo/tests/testing.py我需要從/foo/bar.py導入應用程序。如果我運行testing.py文件,我得到ImportError

我檢查了sys.path/foo/foo/tests文件夾包括在內。

回答

0

如果/ foo是在sys.path,那麼你可以使用import bar導入棒,所以嘗試改變進口線testing.py以下:

from bar import app 

或者,把根文件夾sys.path,這將允許您使用import foo.XXX,from foo import XXXfrom foo.XXX import YYY導入模塊foo及其內容。

1

sys.path中應該包含Foo的父目錄,而不是foo本身

1

取決於您如何運行你的測試,你可以使用absolute imports,並做到:

from ..bar import app 
相關問題