我有一些项目,我试图分开以便于管理。因此,我将不同应用程序使用的一些部分移动到模块中,而不是复制文件。
现在我的模块有以下结构(每个模块都有自己的文档和测试):
/projects
/module1
__init__.py
run_tests.py
/docs
...
/module1
__init__.py
module1.py
/tests
__init__.py
module1_test.py
/module2
...
现在我得到了自己的主要应用程序"目录以同样的方式布局:
/projects
run_app.py
run_tests.py
/docs
...
/app
__init__.py
app.py
module1 <-- Link to the module1 repository
/tests
__init__.py
app_tests.py
目前我的所有__init__.py
文件都是空的,我不知道如何在app.py
文件中编写正确的导入语句。由于module1中只有一个类,所以我不想休import module1.module1.module1.ModuleClass
因此ModuleClass
应导入&#34;模块级&#34;所以我可以做一些像import module1.ModuleClass
这样的事情。我想我必须调整__init__.py
文件,但我试过的都破坏了测试或整个导入。
任何帮助都会非常感激和抱歉我的不良解释我不是母语人士......
答案 0 :(得分:0)
好的,我自己找到了解决方案。一如既往,它非常直接。
我只需要将所有__init__.py
文件中的以下行递归地添加到模块顶部。
from .module1 import ModuleClass
如果有人可能会在同样的情况下结束,我会留在这里以供将来参考。
干杯