Execute scripts Python sem invocar explicitamente 'python'

31

Estou usando o Debian Linux.

Eu queria saber se havia uma maneira de configurar para executar todos scripts Python no terminal digitando script.py (em vez de python script.py ).

    
por user2018084 20.10.2014 / 01:38

4 respostas

51

Existem duas coisas que você precisa fazer:

  • Verifique se o arquivo é executável: chmod +x script.py
  • Use um shebang para permitir que o kernel saiba qual interpretador usar. A linha superior do script deve ser:

    #!/usr/bin/python
    

    Isso pressupõe que seu script será executado com o python padrão. Se você precisar de uma versão específica, basta especificar no shebang:

    #!/usr/bin/python2.7
    

Agora você pode digitar:

    ./script.py

se o script estiver em seu diretório atual ou:

    script.py

se a localização do script estiver no seu PATH, ou:

    path/to/script.py

caso contrário.

    
por 20.10.2014 / 01:47
30

No linux você pode simplesmente usar o hashbang (também conhecido como shebang). Adicione a linha

#!/usr/bin/python

se você deseja executar o interpretador python padrão.

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

para usar uma versão específica ou

#!/usr/bin/env python

Se você quiser que o ambiente encontre o python para você.

Você também será obrigado a tornar o script executável

chmod +x script[.py] 
    
por 20.10.2014 / 01:58
0

Uso:

#!/usr/bin/env python

Isso garantirá que o python que o usuário espera que seja usado será aquele que executa o script. Isso é especialmente importante se o usuário estiver usando o virtualenv para ter uma versão específica do python em um determinado ambiente.

    
por 31.10.2017 / 19:09
0

Use uma linha shebang no topo do seu script como abaixo:

! / usr / bin / python

Atualize a versão apropriada do python na qual você deseja executar o script. por exemplo. Para o python 3.6, o seu

! / usr / bin / python3.6

para intérprete padrão

! / usr / bin / python

Nota: certifique-se de que o script tenha permissão executável.

    
por 08.04.2018 / 21:22

Tags