Sto usando Debian Linux.
Mi chiedevo se ci fosse un modo per configurare l'esecuzione di tutti gli script Python nel terminale digitando script.py
(anziché python script.py
).
Sto usando Debian Linux.
Mi chiedevo se ci fosse un modo per configurare l'esecuzione di tutti gli script Python nel terminale digitando script.py
(anziché python script.py
).
Risposte:
Ci sono due cose che devi fare:
chmod +x script.py
Usa uno shebang per far sapere al kernel quale interprete usare. La riga superiore dello script dovrebbe contenere:
#!/usr/bin/python
Ciò presuppone che lo script verrà eseguito con il pitone predefinito. Se hai bisogno di una versione specifica, specifica nello shebang:
#!/usr/bin/python2.7
Ora puoi digitare:
./script.py
se lo script si trova nella directory corrente oppure:
script.py
se la posizione dello script si trova nel PERCORSO o:
path/to/script.py
altrimenti.
bash
che legge il file durante l'esecuzione ...
./script.py
altroscript.py
Sotto Linux puoi semplicemente usare l'hashbang (aka shebang). Aggiungi la linea
#!/usr/bin/python
se si desidera eseguire l'interprete Python predefinito.
#!/path/to/python[x.x]
per utilizzare una versione specifica o
#!/usr/bin/env python
Se vuoi che l'ambiente trovi Python per te.
Ti verrà inoltre richiesto di rendere eseguibile lo script
chmod +x script[.py]
Uso:
#!/usr/bin/env python
Questo assicurerà che il python che l'utente si aspetta di usare sia quello che esegue lo script. Ciò è particolarmente importante se l'utente utilizza virtualenv per avere una versione specifica di Python in un determinato ambiente.
Usa una riga shebang nella parte superiore dello script come di seguito:
Aggiorna la versione appropriata di Python su cui desideri eseguire lo script. ad es. per python 3.6 è
per interprete predefinito
Nota: assicurarsi che lo script disponga dell'autorizzazione eseguibile.
#!/usr/bin/env python
, nel caso in cui l'utente abbia una build locale di python (ad esempio, in/usr/local/bin
) con cui preferirebbe eseguire lo script.