¿Existe un equivalente de Rake en Python?


87

Rake es una herramienta de creación de software escrita en Ruby (como Ant o Make ), por lo que todos sus archivos están escritos en este lenguaje. ¿Existe algo como esto en Python?


3
¿Está buscando una herramienta de construcción y resolución de dependencia general, como make, que pueda construir proyectos desde cualquier idioma? ¿O algo para construir paquetes de Python específicamente?
Ian Clelland

1
Algo general. La compilación del paquete Python es interesante, pero se puede realizar con herramientas generales.
e-satis


1

4
¿Alguien vino aquí desde el tobogán Joe Armstrong? youtu.be/lKXe3HUG2l4?t=1270
sobrino

Respuestas:


28

Paver tiene un conjunto similar de objetivos, aunque realmente no sé cómo se compara.


Eso parece definitivamente lo más cercano.
e-satis

1
Eso parece haber perdido impulso en 2011
John Mee

2
El proyecto aún está activo, el registro de cambios ahora está aquí: pythonhosted.org/Paver/changelog.html
Stefan Schmidt

1
La última versión en pythonhosted.org/Paver/changelog.html es1.1.0 (July 30, 2012)
clacke

¿Alguna opinión sobre Invoke (mencionado en otras respuestas en esta P), vs Paver? ¿Son "competidores" directos? ¿Pros contras?
inger hace

38

Invocar : tejido sin las dependencias SSH.

La hoja de ruta de Fabric analiza que Fabric 1.x se dividirá en tres partes:

  1. Invoke : la ejecución de la tarea no SSH.
  2. Fabric 2.x: la biblioteca de implementación y ejecución remota que utiliza Invoke .
  3. Patchwork : las "operaciones comunes de implementación / administrador de sistemas, creadas en Fabric".

Invoke es una herramienta y biblioteca de ejecución de tareas de Python (2.6+ y 3.3+), que se inspira en varias fuentes para llegar a un conjunto de funciones potente y limpio.

A continuación, se muestran algunas declaraciones descriptivas del sitio web de Invoke :

  • Invoke es una herramienta y biblioteca de ejecución de tareas de Python (2.6+ y 3.3+), que se inspira en varias fuentes para llegar a un conjunto de funciones potente y limpio.
  • Al igual que la herramienta Rake de Ruby y el propio predecesor de Invoke, Fabric 1.x, proporciona una API limpia y de alto nivel para ejecutar comandos de shell y definir / organizar funciones de tareas desde un archivo tasks.py.

1
@IgorZevaka ahora funciona en Windows, el mismo tema - github.com/pyinvoke/invoke/pull/119
Roman M. Koss

1
Fue usuario de Shovel hace unos 4 años. Definitivamente vaya con Invoke ahora. Interfaz de línea de comandos muy buena, la declaración de tareas es agradable y fácil, el encadenamiento se siente como el de Make. Agradable.
ddotsenko

¿Alguna opinión sobre Paver (mencionado en otras respuestas sobre esta P), vs Invoke? ¿Son "competidores" directos? ¿Pros contras?
inger hace


6

Waf es un marco basado en Python para configurar, compilar e instalar aplicaciones. Deriva de los conceptos de otras herramientas de construcción como Scons, Autotools, CMake o Ant.


1
¿Cuáles son los beneficios de otros scons de Waf?
e-satis

5

Aunque se usa más comúnmente para la implementación, Fabric podría ser interesante para este caso de uso.


4

También hay doit : lo encontré mientras buscaba estas cosas hace un tiempo, aunque no llegué muy lejos al evaluarlo.


0

Consulte también buildout, que no es tanto un sistema de creación para software, como un sistema de creación para una implementación.

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

Por lo tanto, no es un equivalente de rake directo, pero puede ser una mejor combinación para lo que quieres hacer, o uno realmente pésimo.


1
Usar buildout para eso es como usar un tanque para ir al centro comercial, ¿no es así? Usar cualquier herramienta de Zope / Plone fuera de Zope / Plone generalmente es, de todos modos :-p
e-satis

"Para eso"? No especificó para qué quería usarlo. De todos modos, buildout no es una herramienta Zope / Plone. Tampoco es grande ni complejo. Es realmente agotador que algunas personas descarten la herramienta solo porque está escrita o utilizada por desarrolladores de Zope. Esa actitud es bastante tonta.
Lennart Regebro

Vamos, eso fue solo una broma. Solía ​​trabajar para una empresa exclusiva de Plone y sí, solíamos hacer muchas bromas sobre las herramientas que estábamos usando. Esa es una actitud cuerda, ¿no crees?
e-satis


-2

Yo chequearía distutils:

El distutilspaquete proporciona soporte para construir e instalar módulos adicionales en una instalación de Python. Los nuevos módulos pueden ser Python 100% puro, o pueden ser módulos de extensión escritos en C, o pueden ser colecciones de paquetes de Python que incluyen módulos codificados tanto en Python como en C.


¿Admite cosas como la generación de documentación o la ejecución de pruebas unitarias?
Wernight
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.