我的目录结构如下:
project/
README.md
project/
foobar/
foo.py
tests/
test_foo.py
test_foo
只是 from foobar import foo
,当我运行 py.test
或只是 python3tests/test_foo.py
从 project
子目录中,我收到 No module named foobar
错误。我在这里尝试了其他答案,例如将 ..
添加到 sys.path
,使用相对导入,没有任何效果,除非运行 python3 test_foo.py
> 在 tests
内使用 sys.path.append('..')
。
最佳答案
首先从您的项目中创建一个包并安装它。
如果安装了,您可以简单地使用绝对链接,以您的包名称开头:
from project import foobar
from project.foobar import foo
另一种方法 - 使用包内链接(无需修改 sys.path
):
test_foo.py
from .. import foobar
关于Python 3 项目间导入不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53944823/