>>> 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
个文件夹。
答案 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
上,这样您就可以使用foo
,import foo.XXX
或{{1}导入模块from foo import XXX
及其内容}。