Sono nuovo di scons e Python. Mi chiedevo se c'è un modo per invocare scons all'interno di uno script python.Invocare scons da uno script Python
Il mio script python accetta dall'utente, un elenco di directory in cui si trova il codice da compilare insieme (oltre a fare altre cose non banali). Genera anche una stringa che deve essere utilizzata come nome dell'eseguibile creato da scons.
Desidero passare queste informazioni dal mio script python agli scons e quindi richiamare scons. C'è un modo semplice per farlo?
mi vengono in mente le seguenti possibilità:
- uso
subprocess.call("scons"...)
io non sono sicuro se scons accetta tutte le informazioni che ho bisogno di passare come argomenti della riga di comando - hanno lo script python scrivere in un file . Chiedi a SConscript di analizzare il file e ottenere le informazioni.
Ho controllato direttamente "SCons.Script.main()" una volta e ho deciso che non ne valeva la pena. Sono andato per il confezionamento della chiamata in un sottoprocesso.call() 'invocazione e gestione degli argomenti della riga di comando come menzionato nella mia risposta. Penso che cercare di bypassare la sceneggiatura di Scons potrebbe portare ad un mondo di dolore :) – Brady
Immagino che questo non risponda alla mia domanda: Se chiamo il mio script Python da SConscript, come faccio a passare le informazioni ad esso che ho appena ottenuto _ prima di invocare scons? –
C'è davvero bisogno di invocare il tuo script prima di scons? È possibile importare lo script come modulo dal file SConscript e quindi eseguirlo secondo necessità, raccogliendo l'input necessario dall'utente. Mentre tecnicamente non è la stessa cosa, non c'è differenza per quanto riguarda l'utente. Se questa non è un'opzione, allora la strada proposta da Brandy è una soluzione fattibile. –