2013-03-07 16 views
5

Ho scritto una semplice utility da riga di comando per me stesso. La configurazione è composta da:Come distribuire il mio script Python/shell?

  1. Un singolo file .py contenente l'applicazione/origine.
  2. Un singolo script di shell eseguibile (chmod + x) che esegue lo script python.
  3. Una linea nel mio bash_profile che alias il mio comando in questo modo: alias cmd='. shellscript' (modo che venga eseguito nello stesso contesto terminale.)

Così efficacemente posso digitare cmd per farlo funzionare, e tutto funziona alla grande.

La mia domanda è: come posso distribuirlo ad altri? Ovviamente potrei semplicemente scrivere queste istruzioni con il mio codice e averlo fatto, ma c'è un modo più veloce? Di tanto in tanto ho visto quelle one-liner che incollate nella vostra console per installare qualcosa. Come potrei farlo? Mi sembra di ricordare che coinvolgono curl e tubazioni a sh ma non riesco a ricordare.

+2

Perché avete bisogno lo script di shell? – wRAR

+0

Il mio script 'cd's in diverse directory, ma chiamando' os.system ('cd/my/path') 'non funziona poiché si tratta di una sotto-shell (da quello che ho capito). Quindi in pratica il mio script Python scrive il percorso di salto in un file temporaneo e lo script della shell lo legge e apporta la modifica. – hamstu

+1

@hamstu: 'os.chdir()' cambierà la directory di lavoro corrente del tuo script in esecuzione. – Claudiu

risposta

3

Carica il tuo script su qualcosa come ideone. Quindi dì al tuo amico di collegarlo a python. Esempio script:

def print_message(): 
    print "This is my very special script!" 

if __name__ == "__main__": 
    print_message() 

Esempio di script in esecuzione:

[email protected]:~$ curl http://ideone.com/plain/O2n3Pg 2>/dev/null | python 
This is my very special script! 
+0

Grazie! Il tuo esempio è proprio quello di cui avevo bisogno. – hamstu

+2

Nessun problema! Dovrei aggiungere un avvertimento qui che non dovresti mai farlo a meno che non ti fidi dello script, dato che potrebbe facilmente possedere il tuo computer, proprio come eseguire un casuale '.exe' in Windows ... – Claudiu

+0

' sudo curl ... ': P – askewchan

1

chmod + x cmd.py

poi si può digitare ./cmd.py

si può anche usare in filodiffusione.

Vorrei aggiungere che gli utenti Unix probabilmente saprebbero già come rendere un file eseguibile ed eseguirlo, quindi tutto quello che dovresti fare è rendere il file disponibile per loro.

Assicurati che sappiano quale versione (o versioni) di python di cui hanno bisogno per eseguire il tuo script.

Problemi correlati