【发布时间】:2026-02-15 06:15:01
【问题描述】:
我已经检查了尽可能多的 SO 页面,并尝试了我找到的所有内容,但没有一个成功。我还检查了有关导入的 PEP 页面并尝试了每个示例,但没有一个有效。
我有一个包含单元测试的测试文件夹,我需要导入我想要测试的模块。这些模块位于 src 文件夹旁边的名为“src”的文件夹中。
文件夹/文件如下所示:
Project /
src /
stringbuilder.py
__init__.py
tests /
stringbuilder_test.py
__init__.py
main.py
__init__.py
我已尽我所能:将__init__.py 添加到每个文件夹中,使其成为一个模块,包括项目的主文件夹。
import src.module_to_test
from ..src.module_to_test import function_to_test
from ..src import module_to_test
我已经测试了所有其他组合都失败了。我开始认为我的设置或理解一定有问题——我认为这应该很简单。
如果我犯了任何明显的错误,请告诉我。
from tests import stringbuilder
错误信息:
$ ./stringbuilder_test.py
Traceback (most recent call last):
File "./stringbuilder_test.py", line 14, in <module>
from tests import stringbuilder
ImportError: No module named tests
同样的错误发生在 (but tests = src):
from src import stringbuilder
【问题讨论】:
-
您在该文件夹中有
__init__.py文件吗? -
是的,项目文件夹、src文件夹和tests文件夹里都有一个。
-
你能粘贴错误信息吗?也许有用。
-
尝试:从stringbuilder_test导入类(需要导入哪个类)
-
“src”还是“测试”?您能否向我们提供有关您的文件和文件夹层次结构的更多详细信息?