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

Executar scripts Python sem invocar explicitamente `python'.

Estou a usar Debian Linux.

Estava a pensar se haveria uma forma de configurar para executar todos os scripts Python no terminal, digitando script.py (em vez de python script.py).

Respostas (4)

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

Há duas coisas que precisa de fazer:

  • Certificar-se de que o ficheiro é executável: chmod +x script.py
  • Use um shebang para que o kernel saiba qual o intérprete a utilizar. A linha superior do guião deve ler-se:

Agora pode digitar:

./script.py

se o guião estiver no seu directório actual, ou:

script.py

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

path/to/script.py

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

0x1&

caso contrário.

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

Sob linux pode simplesmente usar o hashbang(aka shebang). Adicione a linha

#!/usr/bin/python

se quiser executar o intérprete python padrão.

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

para usar alguma versão específica, ou

#!/usr/bin/env python

Se quiser que o ambiente encontre python para si.

Também lhe será pedido que torne o script executável

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

Utilização:

#!/usr/bin/env python

Isto assegurará que a pitão que o utilizador espera que seja utilizada será a que executa o guião. Isto é especialmente importante se o utilizador estiver a utilizar o virtualenv para ter uma versão específica de python num determinado ambiente.

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

Use uma linha de shebang no topo do seu guião como abaixo:

!/usr/bin/python

Actualize a versão python apropriada na qual pretende executar o script. por exemplo, para python 3.6 o seu

!/usr/bin/python3.6

para o intérprete padrão

!/usr/bin/python

Nota: Certifique-se de que o script tem permissão executável.