我看过很多Ruby项目(不仅仅是Rails),它们大多数都使用Rake;在Node.js变得流行后,出现了Cake。在许多其他编译和非编译语言中,都有传统的Make文件。
但在Python中,似乎没有人需要这样的基础设施。我随机选择了GitHub上的Python项目,除了由setup.py提供的安装之外,它们没有任何自动化。
这是为什么呢?是因为没有什么需要自动化的吗?大多数程序员都喜欢手动运行风格检查、测试等吗?
以下是一些例子:
- dependencies设置虚拟环境并安装依赖项。 - check调用pep8和pylint命令行工具。 - test任务依赖于dependencies,启用虚拟环境,为集成测试启动selenium-server,并调用nosetest。 - coffeescript任务将所有coffeescript编译为压缩的javascript。 - runserver任务依赖于dependencies和coffeescript。 - deploy任务依赖于check和test,并部署项目。 - docs任务使用适当的参数调用sphinx。
其中一些只有一两行代码,但在我的看法中,它们会累加起来。由于Makefile的存在,我不必记住它们。
需要澄清的是:我不是在寻找Python中的Rake等价物。我很满意paver。我正在寻找原因。