如何从当前文件夹旁边的文件夹导入模块?

2024-04-20 12:15:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经检查了尽可能多的页面,尝试了所有我发现的东西,但没有一个是成功的。我还查看了关于导入的PEP页面,并尝试了每个示例,但都没有成功。

我有一个tests文件夹,其中包含单元测试,我需要导入要测试的模块。模块位于名为“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

同样的错误发生在(但是tests=src):

from src import stringbuilder

Tags: 模块tofrompytestimportsrc文件夹