Чи існує еквівалент Rake у Python?


87

Rake - це інструмент побудови програм, написаний на Ruby (наприклад, Ant або Make ), і тому всі його файли написані цією мовою. Чи існує щось подібне в Python?


3
Ви шукаєте загальний інструмент вирішення залежностей та інструмент побудови, такий як make, який може будувати проекти з будь-якої мови? Або щось для спеціального створення пакетів python?
— Ian Clelland

1
Щось загальне. Створення пакету Python цікаво, але його можна виконати за допомогою загальних інструментів.
— e-satisfa



4
Хтось приїжджав сюди із слайда Джо Армстронга? youtu.be/lKXe3HUG2l4?t=1270
— nephewtom

Відповіді:


28

Paver має подібний набір цілей, хоча я насправді не знаю, як це порівнює.


Це здається, безумовно, найближчим.
— e-satisfa


2
Проект все ще активний, журнал
— Стефан Шмідт

1
Остання версія за адресою pythonhosted.org/Paver/changelog.html є1.1.0 (July 30, 2012)
— clacke

37

Invoke - тканина без залежностей SSH.

В Тканина дорожньої карти обговорюється , що тканину 1.x буде розділений на три частини:

  1. Invoke - Виконання завдання, що не є SSH.
  2. Fabric 2.x - віддалена бібліотека виконання та розгортання, яка використовує Invoke .
  3. Печворк - "загальні операції розгортання / системного адміністрування, побудовані на Fabric".

Invoke - це інструмент та бібліотека для виконання завдань Python (2.6+ та 3.3+), що черпає натхнення з різних джерел, щоб отримати потужний та чистий набір функцій.

Нижче наведено кілька описових висловлювань із веб-сайту Invoke :

  • Invoke - це інструмент та бібліотека для виконання завдань Python (2.6+ та 3.3+), що черпає натхнення з різних джерел, щоб отримати потужний та чистий набір функцій.
  • Подібно інструменту Ruby's Rake та власному попереднику Fabric 1.x від Invoke, він забезпечує чистий API високого рівня для запуску команд оболонки та визначення / впорядкування функцій завдання з файлу task.py.

1
@IgorZevaka зараз це працює на вікнах, та сама тема - github.com/pyinvoke/invoke/pull/119
— Роман М. Косс

Був користувачем Shovel близько 4 років тому. Однозначно піти з Invoke зараз. Дуже класний інтерфейс командного рядка, декларація завдань є приємною та простою, ланцюжок відчувається як у Make. Приємно.
— ddotsenko


6

Waf - це фреймворк на основі Python для налаштування, компіляції та встановлення програм. Він походить від концепцій інших інструментів побудови, таких як Scons, Autotools, CMake або Ant.


1
Які переваги інших ватиків Waf?
— e-satisfa

5

Хоча він частіше використовується для розгортання, Fabric може бути цікавим для цього випадку використання.



0

Також перевірте buildout, яка є не стільки системою make для програмного забезпечення, скільки системою make для розгортання.

http://pypi.python.org/pypi/pysqlite/2.5.5

Отже, це не прямий еквівалент граблів, але може бути кращим відповідником того, що ви хочете зробити, або насправді паршивим.


1
Використовувати нарощування для цього - все одно, що пропустити танк, щоб піти до торгового центру, чи не так? Використання будь-яких інструментів Zope / Plone поза Zope / Plone, як правило, є, так чи інакше :-p
— e-satisfa

"Для того"? Він не вказав, для чого хоче його використовувати. У будь-якому випадку, buildout не є інструментом Zope / Plone. Він також не великий або складний. Це справді втомлює те, що деякі люди відмовляються від інструменту лише тому, що він написаний або використовується розробниками Zope. Таке ставлення це досить глупо.
— Леннарт Регебро

Давай, це просто дражнило. Раніше я працював у компанії, яка працює лише з Plone, і так, ми часто жартуємо про інструменти, якими ми користувались. Це розумне ставлення, вам не здається?
— e-satisfa


-2

Я б перевірив distutils:

distutilsПакет забезпечує підтримку для створення і установки додаткових модулів в установці Python. Нові модулі можуть бути або 100% -чистим Python, або можуть бути модулями розширення, написаними на мові C, або можуть бути колекціями пакетів Python, які включають модулі, кодовані як на Python, так і на C.


чи підтримує він такі речі, як генерація документації або запуск модульних тестів?
— Wernight
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.