具有多个子模块的最佳一致模块导入可作为独立脚本运行

时间:2016-12-01 12:19:40

标签: python python-import

我有一个这样的项目:

主要 - > 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 中创建一个函数来测试子模块中的函数并使范围保持一致是非常无聊的。

  1. 我不想使用 __ main __ 变量来区分它的范围。

  2. 我使用sphinx作为文档工具(位于main - > docs中),在函数声明中更清楚地看到src.main或src.submodule1.script1。

  3. 到目前为止

    在我创建的每个文件中,我使用以下方法导入模块:

    # main --> src --> main.py
    import os
    import sys 
    sys.path.insert(0, os.path.abspath('..'))
    import src.submodule1.script1
    

    我的问题是:你知道处理这种结构的更好方法吗?

0 个答案:

没有答案