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?
¿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.
Fabric 2.x: la biblioteca de implementación y ejecución remota que utiliza Invoke .
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.
@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?
A partir del 23 de diciembre de 2015 , Shovel se actualizó por última vez hace un año el 5 de diciembre de 2014.
Matthew Rankin
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.
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?
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.
Respuestas:
Paver tiene un conjunto similar de objetivos, aunque realmente no sé cómo se compara.
fuente
1.1.0 (July 30, 2012)
Invocar : tejido sin las dependencias SSH.
La hoja de ruta de Fabric analiza que Fabric 1.x se dividirá en tres partes:
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 :
fuente
Shovel parece prometedor:
Pala - Rastrillo para Python
https://github.com/seomoz/shovel
fuente
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.
fuente
Aunque se usa más comúnmente para la implementación, Fabric podría ser interesante para este caso de uso.
fuente
También hay doit : lo encontré mientras buscaba estas cosas hace un tiempo, aunque no llegué muy lejos al evaluarlo.
fuente
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.
fuente
Hay Phantom en Boo (que no es Python, pero casi).
fuente
Yo chequearía
distutils
:fuente