GNU/Linux >> Linux Esercitazione >  >> Linux

La linea di Ubuntu Python shebang non funziona

Se stai tentando di eseguire il comando come

$ test.py

l'errore potrebbe non avere nulla a che fare con lo shebang. Piuttosto, la directory in cui risiede test.py non è nel tuo PATH . Prova

$ ./test.py

per ignorare PATH ricerca.

(Questo è in aggiunta per assicurarsi che lo script stesso sia eseguibile.)


Nella pagina dei documenti di Python dice:

Per utilizzare facilmente gli script Python su Unix, è necessario renderli eseguibili, ad es. con

$ chmod +x script e inserire una riga Shebang appropriata all'inizio dello script. Di solito una buona scelta è

#!/usr/bin/env pythonche cerca l'interprete Python in tutto il PATH. Tuttavia, alcuni Unix potrebbero non avere il comando env, quindi potrebbe essere necessario inserire hardcode/usr/bin/python come percorso dell'interprete.

Non so se questo vale per te o no.


Oltre a eseguire lo script con un punto precedente o renderlo eseguibile, potrebbe esserci un altro problema:

Se si tenta di utilizzare uno script scritto con un editor di Windows, potrebbe contenere terminazioni di riga di Windows. La rimozione di questi può far funzionare di nuovo lo shebang.

Per rimuovere tali terminazioni di riga, fai riferimento a Come convertire Windows end of line in Unix end of line (CR/LF to LF) per esempio.

Vedi anche le mie osservazioni generali sulle valutazioni shebang fallite nell'altra mia risposta.


Linux
  1. Bash Echo La riga di comando eseguita sulla riga di comando stessa (non in uno script)?

  2. La variabile Curl Outfile non funziona nello script Bash?

  3. Ubuntu – Crontab non funziona?

  4. Comando di salvataggio delle larve. Grub non funziona in Ubuntu 13?

  5. Il Bluetooth non funziona su Ubuntu 20 Rapsberry Pi?

Accesso automatico non funzionante in Ubuntu 17.10

Condivisione di rete Ubuntu 15.04 non funziona?

Il comando traceroute non funziona su Ubuntu

Lo script della shell funziona bene senza la linea shebang? Come mai?

Come eseguire lo script Python sul terminale (ubuntu)?

Lo script Nohup per Python non funziona durante l'esecuzione in background con &