Makefiles有许多不错的东西,而且很多东西都很痛苦.
在做各种项目的过程中(我是一名研究科学家," 数据科学家 "或其他什么)我经常发现自己从磁盘上的一些数据对象开始,从那些数据对象生成各种工件,从这些工件生成工件,以及等等.
如果我可以说"这个对象依赖于这些其他对象",并且"这个对象是从这些对象以下面的方式创建的",然后请求类似Make的框架来处理实际构建它们的细节,这将是很好的. ,找出需要更新的对象,将工作分配到多个处理器(如Make的-j选项),等等.Makefile可以做到这一切 - 但是最大的问题是所有的动作都必须写成shell命令.如果我在R或Perl或其他类似的环境中工作,这是不方便的.此外,Make中的一个强有力的假设是所有目标都是文件 - 有一些例外和解决方法,但如果我的目标是例如数据库中的行,那将是非常痛苦的.
要清楚,我不是在使用软件构建系统.我对(通常是什么?)处理工件依赖网络的事情感兴趣.
有谁知道这种依赖网络的框架?看起来它可能是一个很好的数据科学工具,可视化地显示结果的生成方式等.
我最近看到的一个非常有趣的例子是IncPy,但它似乎在很长一段时间内都没有被触及,而且它与Python非常紧密地结合在一起.它可能也比我希望的更加雄心勃勃,这就是它必须与Python紧密结合的原因.
对于模糊的问题,我们深表歉意,如果有些说明有帮助,请与我们联系.
今天宣布了一个名为"Drake"的新系统,针对这种情况:http: //blog.factual.com/introducing-drake-a-kind-of-make-for-data.看起来很有希望,虽然我还没有尝试过.