2010-07-20 12 views
16

Quali sono i vantaggi e problemi con i vari Python make -come sistemi?Python rendere i sistemi

nota Stiamo utilizzando le denotazioni '(+)' e '(-)' rispettivamente all'inizio di voci di elenco per indicare vantaggi e problemi.

Finora mi sono informato di

  • buildit
    • era precedentemente conosciuto come pymake
    • (-) sembra essere obsolescenza: ultima release era alla fine del 2007
  • zc.buildout
    • (+) attualmente attivo a partire dal 2010-07-20
    • usa la sintassi rc-simile a file con [sections]
    • (-) (?) Codice python non può essere facilmente integrato in file di configurazione .
    • sembra porre molta enfasi sul lavoro con .egg file.
  • scons
    • (+) attualmente attivi al file di configurazione 2010-07-20
    • sono scritti in puro Python
    • (+) codice pitone può facilmente essere integrato in file di configurazione
    • (-)? utilizzo di Python per i file di configurazione può comportare verbosità più
  • waf
    • (+)?Mark dice "vantaggi come scons ma più veloce"
    • aspetti negativi? Perché le persone usano ancora scons?
+0

"verbosità extra"? Di certo sembra più chiaro e preciso di qualsiasi altra alternativa. Qual è il punto di questa domanda? –

+0

forse come repository per informazioni sugli strumenti 'make' di python (almeno questa è la mia presunzione considerando lo stato CW) –

+0

Ho appena fatto un po 'di ricerca sulle opzioni disponibili e ho trovato questa lista. Mi chiedo a) se ci sono più opzioni eb) se ci sono altri aspetti importanti delle opzioni elencate qui. – intuited

risposta

0

Quando ho usato waf circa 1,5-2 anni fa, aveva la documentazione davvero scarsa e povera che ha notevolmente limitato la sua utilità. Non ho usato waf da un po ', però, forse la situazione è cambiata.

+0

C'è ora un "libro" su waf su [https://waf.io/book/] con molti esempi. – Chelmite

3

Uno scherzo del WAF è che si suppone di essere copiati nella albero dei sorgenti del programma. Scons è molto più simile al fatto che è installato una volta sul sistema, e quindi si ha essenzialmente solo un file di dati (nella forma di un programma python) nell'albero dei sorgenti.

Di conseguenza, Scons è impacchettato su Ubuntu/Debian e waf no.

È possibile ma un po 'difficile in Scons eseguire metaprogrammazione che manipola il grafico delle dipendenze o aggiunge nuovi concetti per la derivazione. Apparentemente il waf è migliore in questo.

Ho usato felicemente gli Scons molte volte; per il mio prossimo progetto compilato probabilmente cercherò almeno waf.

È possibile leggere circa Samba's experience with waf. Riferiscono che passando da autoconf a Waf i rpath sono stati impostati correttamente e ridotto i binari collegando i file oggetto necessari esattamente una volta per programma.

1

Questo è lo stato di 4 dei sistemi di sviluppo software per Python 3, a partire dal 2015-05-31.

Problemi correlati