我有一个这样的项目:
主要 - > run.py
主要 - > setup.py
主要 - > src - > main.py
主要 - >测试 - > tests.py
src 和 tests 文件夹都包含我希望能够运行的子模块。但是,我想将它们分别在 main.py 和 tests.py 中导入为 src.submodule1.script1 或测试。 submodule2.script2 ,如果我运行 run.py 或 setup.py ,则不会出现导入错误。
为什么:
1.总是在 run.py 中创建一个函数来测试子模块中的函数并使范围保持一致是非常无聊的。
我不想使用 __ main __ 变量来区分它的范围。
我使用sphinx作为文档工具(位于main - > docs中),在函数声明中更清楚地看到src.main或src.submodule1.script1。
到目前为止:
在我创建的每个文件中,我使用以下方法导入模块:
# main --> src --> main.py
import os
import sys
sys.path.insert(0, os.path.abspath('..'))
import src.submodule1.script1
我的问题是:你知道处理这种结构的更好方法吗?