Python - ImportError:没有名为foo.bar的模块

时间:2012-10-02 21:44:40

标签: python importerror python-import

>>> from foo.bar import app
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 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个文件夹。

3 个答案:

答案 0 :(得分:1)

sys.path应该包含foo的父目录,而不是foo本身

答案 1 :(得分:1)

根据您运行测试的方式,您可以使用absolute imports,然后执行:

from ..bar import app

答案 2 :(得分:0)

如果/ foo在sys.path上,那么您可以使用import bar导入栏,因此请尝试将testing.py中的导入行更改为以下内容:

from bar import app

或者,将根文件夹放在sys.path上,这样您就可以使用fooimport foo.XXX或{{1}导入模块from foo import XXX及其内容}。