我正在尝试为我们的内部软件开发流程实现 python 构建包和功能测试包。我的主要目标是实现一个全局/标准记录器(类似于这里的参考)和 argparser,所有模块都将从它们的透视包中使用(即构建记录器和解析器将不同于测试套件记录器和解析器)。
这应该在__init__.py
包装中完成吗?有没有其他方法可以实现这一目标?我还没有看到真正的需要__init__.py
是什么?也许,这回答了我自己的问题?
我编写了许多 python 模块和其他应用程序,但从未编写过包/库。这个概念似乎给我带来了新的可能性,比如标准化这些流程。
基本上,总而言之,我对这些软件包的目标是:
1.) 消除对长参数列表的冗余传递/解析和/或访问系统环境的需要。
2.) 消除我们过去从不同的测试和构建脚本中看到的无数输出。
3.) 提供易于使用的自文档包。任何关于包文档的建议也将非常有用。:)
这将使这些软件包的用户能够:
1.) 轻松访问一组标准参数。例如,包中的每个模块都将(按优先顺序)使用标准标志解析命令行参数、加载配置文件或使用默认值。
2.) 以标准方式轻松记录错误、警告和调试语句。
3.) 随着这些测试/构建模块的传递,这最终将使“用户”(即没有编写模块的人)能够以通用方式运行它。
我想我正在寻找一些真正的“Pythonic”实施建议,因为那里的各种选项和可能性似乎是压倒性的。提前致谢。