Realizzare `#! / Usr / bin / env python` funziona su Windows


8

Io uso Bash su Windows, fornito da MSYS.

Ho provato a eseguire un file Python con uno shebang di #!/usr/bin/env python, ma ottengo questo messaggio di errore:

/usr/bin/env: python: No such file or directory

Cosa posso fare per farlo funzionare?

So che posso avviare il file Python con il suffisso python, ma voglio che funzioni anche senza il suffisso.

Risposte:


6

Utilizzare il percorso corretto in cui è installato Python, ad esempio:

#!c:/Python/python.exe

Se hai un supporto per i percorsi di tipo Unix sul tuo sistema (non ho familiarità con MSYS), puoi sempre inserire il percorso per il tuo python eseguibile, cioè l'output di which python.


2
O potresti usare env, come sta facendo il richiedente.
Ignacio Vazquez-Abrams

Non posso cambiare lo shebang, fa parte di un progetto che coinvolge altri programmatori che lavorano su Linux e Mac.
Ram Rachum

@RamRachum Qual è l'output di which env e which python e type python?
Daniel Beck


0

Cosa succede quando corri (dalla shell):

$ /usr/bin/env python

..?

Se avvia una sessione interattiva python, è possibile trovare python. (Puoi anche eseguire semplicemente: type python ). Se stampa "nessun file o directory", allora python non è stato trovato nel tuo percorso. Verifica se il seguente problema può essere ottimizzato per risolvere il problema (gli spazi nel percorso / in / python probabilmente causeranno problemi):

$ export PATH=$PATH:/path/to/python
$ /usr/bin/env python

0

Sono risultato essere una mancata corrispondenza tra Virtualenv activate.sh file e MSYSGIT. Non è mai stato pensato per funzionare su Windows.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.