一个python3库,用于评估EnergyPlus构建之间的回归。
EnergyPlusRegressionTool的Python项目详细描述
EnergyPlus回归
概述
这个库提供了在EnergyPlus构建之间执行回归的工具。 开发人员经常建议对EnergyPlus进行以下更改:
- 新功能开发
- 缺陷修复
- 重构结构或性能
当开发人员提出这些更改时,必须在将这些代码更改接受到主分支之前对其进行测试。 持续集成系统运行测试并提供结果,但有时会有很长的延迟等待这些结果,这取决于系统当时有多忙。 这组工具提供了在本地运行这些回归的方法。在
使用
这个工具适用于所有三个主要平台:Windows、Mac和ubuntults(18.04和20.04)。 Travis在所有的平台上运行测试,并且经常在这三个平台上使用。在
安装此工具有两种方法:
- 下载预构建(由Travis编写)的二进制软件包
- 从Github发行版page下载。在
- 用户不需要任何额外的工具,包括Python本身。在
- 应该提取下载的包,然后直接运行提取的二进制文件。在
- 从Pypi将库安装到现有的Python安装中
- 使用Pip(
pip install energyplusregressiontool
)下载。在 - 显然,用户将需要现有的Python安装,但是其他依赖项由Pip自动安装。在
- 一旦安装到Python安装中,就可以运行一个二进制文件:
eplus_regression_runner
。在
- 使用Pip(
限制
不过,这里也有一些限制。在此之前的几句话:
- 当我们创建独立安装程序时,我们使用
pyinstaller
来freeze程序和所有依赖项。在 - 当我们运行EnergyPlus时,我们必须在多个进程中运行,而不仅仅是多个线程,因为EnergyPlus本身的线程不安全。在
这两个因素的结合有一个问题,导致该程序在Windows和Mac上不能很好地工作。 如果尝试冻结程序,但使用多处理库创建子实例,则失败。 网上有一些关于如何通过在代码入口调用特殊函数来解决这个问题的注释,但是我不能让它们完全工作。 所以现在,如果你在Windows或Mac上使用冻结的可下载版本,它不会在多个进程中运行EnergyPlus。在
但是,如果您使用Pip将库安装到Python安装中,则该程序永远不会使用pyinstaller
冻结,而且即使使用多处理,跨平台的程序似乎也能正常工作。
最好的安装路径是以这种方式运行,但是如果不能,您可以下载冻结版本,现在只接受单个进程。在
发展
对于设置开发环境以在此工具上执行work,步骤非常简单:
- 如果需要,请安装Python
- 克隆此存储库(
git clone https://github.com/NREL/EnergyPlusRegressionTool
) - 安装依赖项(
pip3 install -r requirements.txt
)
文件
程序文档,包括用户指南和典型工作流,可在文档中找到。 {a6}和Sphinx一起出版。在
测试
详尽的单元测试已经添加到“底层”代码中,比如计算差异和运行构建的函数。 单元测试由Travis运行。 GUI代码不是单元测试的,而是在所有平台上例行测试的。在
- 项目
标签: