Fazendo o `#! / Usr / bin / env python` funcionar no Windows


13

Eu uso o Bash no Windows, fornecido pelo MSYS.

Tentei executar um arquivo Python com um shebang de #!/usr/bin/env python, mas recebo esta mensagem de erro:

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

O que posso fazer para que isso funcione?

Sei que posso iniciar o arquivo Python com o sufixo python, mas também quero que funcione sem o sufixo.

Respostas:


9

Use o caminho adequado onde o Python está instalado, por exemplo:

#!c:/Python/python.exe

Se você possui suporte a caminho do Unix no seu sistema (eu não estou familiarizado com o MSYS), você sempre pode inserir o caminho do seu pythonexecutável, ou seja, a saída de which python.


2
Ou você pode usar env, como o solicitante está fazendo.
Ignacio Vazquez-Abrams

Não posso mudar o shebang, é parte de um projeto que envolve outros programadores que trabalham no Linux e Mac.
Rachum

@RamRachum Qual é o resultado de which enve which pythone type python?
Daniel Beck


0

O que acontece quando você executa (a partir do shell):

$ /usr/bin/env python

..?

Se ele iniciar uma sessão interativa em python, poderá encontrar o python. (Você também pode simplesmente executar:) type python. Se ele imprimir "nenhum arquivo ou diretório", pythonnão será encontrado no seu PATH. Veja se o seguinte pode ser ajustado para corrigir o problema (os espaços no caminho / to / python provavelmente causarão problemas):

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

0

Acabei sendo uma incompatibilidade entre o activate.sharquivo do Virtualenv e o MSYSGIT. Nunca foi concebido para funcionar no Windows.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.