Czy w Pythonie jest odpowiednik Rake?

87

Rake to narzędzie do tworzenia oprogramowania napisane w języku Ruby (jak Ant lub Make ), więc wszystkie jego pliki są napisane w tym języku. Czy coś takiego istnieje w Pythonie?

e-satis
źródło
3
Szukasz ogólnego narzędzia do rozwiązywania zależności i kompilacji, takiego jak make, które może tworzyć projekty w dowolnym języku? Albo coś do tworzenia pakietów w Pythonie?
Ian Clelland
1
Coś ogólnego. Budowanie pakietu Pythona jest interesujące, ale można je wykonać za pomocą ogólnych narzędzi.
e-satis
4
Czy ktoś przyszedł tu ze zjeżdżalni Joe Armstronga? youtu.be/lKXe3HUG2l4?t=1270
nephewtom

Odpowiedzi:

37

Invoke - Fabric bez zależności SSH.

W mapie drogowej Fabric omówiono, że Fabric 1.x zostanie podzielony na trzy części:

  1. Invoke - wykonanie zadania innego niż SSH.
  2. Fabric 2.x - biblioteka do zdalnego wykonywania i wdrażania korzystająca z Invoke .
  3. Patchwork - „Typowe operacje wdrażania / administratora systemu, oparte na sieci Fabric”.

Invoke to narzędzie i biblioteka do wykonywania zadań w języku Python (2.6+ i 3.3+), czerpiące inspirację z różnych źródeł, aby uzyskać potężny i przejrzysty zestaw funkcji.

Poniżej znajduje się kilka opisowych stwierdzeń z witryny Invoke :

  • Invoke to narzędzie i biblioteka do wykonywania zadań w języku Python (2.6+ i 3.3+), czerpiące inspirację z różnych źródeł, aby uzyskać potężny i przejrzysty zestaw funkcji.
  • Podobnie jak narzędzie Rake Ruby'ego i jego poprzednik Fabric 1.x, zapewnia czysty, wysokopoziomowy interfejs API do uruchamiania poleceń powłoki i definiowania / organizowania funkcji zadań z pliku tasks.py.
Matthew Rankin
źródło
1
@IgorZevaka teraz działa na windows, ten sam temat - github.com/pyinvoke/invoke/pull/119
Roman M. Koss
Byłem użytkownikiem łopaty jakieś 4 lata temu. Zdecydowanie przejdź teraz z Invoke. Bardzo fajny interfejs wiersza poleceń, deklaracja zadań jest przyjemna i łatwa, a łączenie w łańcuch wygląda jak w Make. Ładny.
ddotsenko
6

Waf to oparty na Pythonie framework do konfigurowania, kompilowania i instalowania aplikacji. Wywodzi się z koncepcji innych narzędzi do budowania, takich jak Scons, Autotools, CMake lub Ant.

las3rjock
źródło
1
Jakie są zalety innych bułeczek Waf?
e-satis
5

Chociaż jest częściej używany do wdrażania, Fabric może być interesujący w tym przypadku użycia.

charlax
źródło
4

Jest też doit - natknąłem się na to szukając tych rzeczy jakiś czas temu, choć nie zaszedłem zbyt daleko z oceną.

Hamish Downer
źródło
0

Sprawdź także buildout, który nie jest tak bardzo systemem tworzenia oprogramowania, ale systemem tworzenia wdrożeń.

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

Nie jest to więc bezpośredni odpowiednik rake, ale może lepiej pasować do tego, co chcesz robić, lub może być naprawdę kiepski.

Lennart Regebro
źródło
1
Używanie buildouta do tego jest jak szarpanie czołgiem do centrum handlowego, prawda? Używanie jakichkolwiek narzędzi Zope / Plone poza Zope / Plone generalnie jest tak czy inaczej :-p
e-satis
"Za to"? Nie sprecyzował, do czego chciał go użyć. W każdym razie buildout nie jest narzędziem Zope / Plone. Nie jest też duży ani złożony. To naprawdę męczące, że niektórzy ludzie odrzucają narzędzie tylko dlatego, że zostało napisane lub używane przez programistów Zope. Taka postawa to dość głupie.
Lennart Regebro,
No dalej, to tylko drażnienie. Kiedyś pracowałem dla firmy działającej wyłącznie w Plone i tak, często żartujemy na temat narzędzi, których używaliśmy. Nie sądzisz, że to rozsądne podejście?
e-satis
0

W Boo jest Phantom (który nie jest Pythonem, ale prawie).

Wernight
źródło
-2

Chciałbym sprawdzić distutils:

distutilsPakiet zapewnia wsparcie dla budowy i instalowania dodatkowych modułów do instalacji Pythona. Nowe moduły mogą być w 100% czystym Pythonem lub mogą być modułami rozszerzeń napisanymi w C lub mogą być kolekcjami pakietów Pythona, które zawierają moduły zakodowane zarówno w Pythonie, jak i C.

Andrew Hare
źródło
czy obsługuje takie rzeczy, jak generowanie dokumentacji lub uruchamianie testów jednostkowych?
Wernight,