2014-10-19 23:38:42 +0000 2014-10-19 23:38:42 +0000
41
41

Eseguire script Python senza invocare esplicitamente `python`.

Sto usando Debian Linux.

Mi stavo chiedendo se ci fosse un modo per configurare l'esecuzione di tutti gli script Python nel terminale digitando script.py (invece di python script.py).

Risposte (4)

60
60
60
2014-10-19 23:47:44 +0000

Ci sono due cose che devi fare:

  • Assicurati che il file sia eseguibile: chmod +x script.py
  • Usare uno shebang per far sapere al kernel quale interprete usare. La prima riga dello script dovrebbe essere:

Ora potete digitare:

./script.py

se lo script è nella vostra directory corrente, oppure:

script.py

se la posizione dello script si trova nel tuo PATH, oppure:

path/to/script.py

altrimenti.

33
33
33
2014-10-19 23:58:24 +0000

Sotto linux potete semplicemente usare l'hashbang (aka shebang). Aggiungete la linea

#!/usr/bin/python

se volete eseguire l'interprete python di default.

#!/path/to/python[x.x]

per usare una versione specifica, o

#!/usr/bin/env python

se vuoi che l'ambiente trovi python per te.

Vi sarà anche richiesto di rendere lo script eseguibile

chmod +x script[.py]
3
3
3
2017-10-31 18:09:01 +0000

Use:

#!/usr/bin/env python

Questo assicurerà che il python che l'utente si aspetta di usare sarà quello che eseguirà lo script. Questo è particolarmente importante se l'utente sta usando virtualenv per avere una specifica versione di python in un dato ambiente.

0
0
0
2018-04-08 19:22:47 +0000

Usate una linea shebang all'inizio del vostro script come segue:

!/usr/bin/python

Aggiorna la versione di python appropriata su cui vuoi eseguire lo script. ad esempio per python 3.6 il suo

!/usr/bin/python3.6

per l'interprete di default

!/usr/bin/python

Nota: Assicurati che lo script abbia il permesso di eseguirlo.