Existe-t-il un équivalent Rake en Python?


87

Rake est un outil de création de logiciel écrit en Ruby (comme Ant ou Make ), et donc tous ses fichiers sont écrits dans cette langue. Est-ce que quelque chose comme ça existe en Python?


3
Êtes-vous à la recherche d'un outil général de résolution de dépendances et de création, comme make, qui peut créer des projets à partir de n'importe quel langage? Ou quelque chose pour créer des packages python spécifiquement?
Ian Clelland

1
Quelque chose de général. Construire un package Python est intéressant, mais peut être réalisé avec des outils généraux.
e-satis



4
Quelqu'un est-il venu ici de la diapositive Joe Armstrong? youtu.be/lKXe3HUG2l4?t=1270
nephewtom

Réponses:



37

Invoke - Fabric sans les dépendances SSH.

La feuille de route de Fabric indique que Fabric 1.x sera divisé en trois parties:

  1. Invoke - L'exécution de la tâche non SSH.
  2. Fabric 2.x - La bibliothèque d'exécution et de déploiement à distance qui utilise Invoke .
  3. Patchwork - Les «opérations courantes de déploiement / sysadmin, basées sur Fabric».

Invoke est un outil et une bibliothèque d'exécution de tâches Python (2.6+ et 3.3+), s'inspirant de diverses sources pour arriver à un ensemble de fonctionnalités puissant et propre.

Voici quelques déclarations descriptives du site Web d' Invoke :

  • Invoke est un outil et une bibliothèque d'exécution de tâches Python (2.6+ et 3.3+), s'inspirant de diverses sources pour arriver à un ensemble de fonctionnalités puissant et propre.
  • Comme l'outil Ruby Rake et le propre prédécesseur d'Invoke, Fabric 1.x, il fournit une API propre et de haut niveau pour exécuter des commandes shell et définir / organiser des fonctions de tâche à partir d'un fichier tasks.py.

1
@IgorZevaka maintenant cela fonctionne sur Windows, le même sujet - github.com/pyinvoke/invoke/pull/119
Roman M. Koss

Était utilisateur de Shovel il y a environ 4 ans. Allez définitivement avec Invoke maintenant. Interface de ligne de commande très cool, la déclaration des tâches est agréable et facile, le chaînage ressemble à celui de Make. Agréable.
ddotsenko


6

Waf est un framework basé sur Python pour configurer, compiler et installer des applications. Il dérive des concepts d'autres outils de construction tels que Scons, Autotools, CMake ou Ant.


1
Quels sont les avantages des autres scons Waf?
e-satis

5

Bien qu'il soit plus couramment utilisé pour le déploiement, Fabric peut être intéressant pour ce cas d'utilisation.


4

Il y a aussi doit - je l'ai rencontré en cherchant ces choses il y a quelque temps, même si je ne suis pas allé très loin dans son évaluation.


0

Consultez également buildout, qui n'est pas tant un système de création de logiciels qu'un système de création de déploiement.

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

Ce n'est donc pas un équivalent de rake direct, mais peut-être mieux adapté à ce que vous voulez faire, ou vraiment nul.


1
Utiliser le buildout pour cela, c'est comme demander à un tank d'aller au centre commercial, n'est-ce pas? L'utilisation de n'importe quel outil Zope / Plone en dehors de Zope / Plone est généralement, de toute façon :-p
e-satis

"Pour ça"? Il n'a pas précisé à quoi il voulait l'utiliser. Quoi qu'il en soit, buildout n'est pas un outil Zope / Plone. Ce n'est pas non plus grand ou complexe. Il est vraiment fatiguant que certaines personnes rejettent l'outil uniquement parce qu'il est écrit ou utilisé par les développeurs de Zope. Cette attitude est assez stupide.
Lennart Regebro

Allez, c'était juste taquin. J'avais l'habitude de travailler pour une entreprise exclusivement Plone et oui, nous avons l'habitude de faire beaucoup de blagues sur les outils que nous utilisions. C'est une attitude sensée, tu ne penses pas?
e-satis le


-2

Je vérifierais distutils:

Le distutilspackage prend en charge la création et l'installation de modules supplémentaires dans une installation Python. Les nouveaux modules peuvent être soit 100% pur Python, soit des modules d'extension écrits en C, soit des collections de packages Python qui incluent des modules codés en Python et C.


prend-il en charge des choses comme la génération de documentation ou l'exécution de tests unitaires?
Wernight
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.