Интересно, как программисту на Python долгое время ускользал от меня основной аспект: что мы делаем вместо Makefiles?
Большинство ruby-проектов, которые я видел (не только rails), используют Rake, вскоре после того, как node.js стал популярным, появился торт. Во многих других (скомпилированных и некомпилированных) языках существуют классические файлы Make.
Но в Python никому не нужна такая инфраструктура. Я случайно выбрал проекты Python на GitHub, и у них не было никакой автоматизации, кроме установки, предоставляемой setup.py
.
В чем причина этого?
Разве нечего автоматизировать? Большинство программистов предпочитают запускать проверки стиля, тесты и т.д. Вручную?
Некоторые примеры:
-
dependencies
устанавливает virtualenv и устанавливает зависимости -
check
вызываетpep8
командной строкиpep8
иpylint
. -
test
задание зависит отdependencies
включает virtualenv, запускает selenium-server для интеграционных тестов и вызываетnosetest
- задача
coffeescript
компилирует все сценарии coffeescript в минимизированный JavaScript - задача
runserver
зависит отdependencies
иcoffeescript
- Задача
deploy
зависит отcheck
иtest
и развертывания проекта. - задача
docs
вызывает sphinx с соответствующими аргументами
Некоторые из них являются одноступенчатыми, но, по-моему, они складываются. Из-за Makefile мне не нужно их запоминать.
Чтобы уточнить: я не ищу Python эквивалент для Rake. Я рад с асфальтоукладчиком. Я ищу причины.