Como executar um programa Python diretamente?

13

Como executar um programa em Python diretamente?

Eu criei um arquivo .py (por exemplo, mnik.py ) no gedit. Corre suavemente no terminal.

O comando vai

python3 mnik.py

Mas sempre que clico no arquivo, ele é aberto com o gedit. Não consigo executá-lo diretamente clicando em.

O que fazer?

    
por Priyadarshi Paul 23.04.2016 / 19:38

3 respostas

25

Há duas coisas necessárias.

  1. Um script deve ter #! linha informando ao SO qual interpretador usar. No seu caso, sua própria linha primeira no código deve ser #!/usr/bin/env python3
  2. Você precisa abrir o gerenciador de arquivos, vá para Editar - > Preferências - > Comportamento e selecione o que fazer com arquivos executáveis

  3. Por fim, certifique-se de que o próprio arquivo tenha permissões executáveis definidas. No terminal você pode fazer chmod +x /path/to/script.py e na GUI, clique com o botão direito no arquivo e altere suas propriedades - > Permissões

Notasobrealinhashebang

Aprimeiralinhaéchamadadeshebanglineedevecomeçarcom#!;oquevemaseguiréonomedointerpretadorqueleráseucódigo.Casovocêestejausandopython3,vocêpodeusar#!/usr/bin/python3ou#!/usr/bin/envpython3paraportabilidade.Sevocênãoestiverusandocódigoqueseráespecíficoparaaversãopython-useapenas#!/usr/bin/envpython

Notanasaídadoscript:

Seoseuscriptimprimirasaídaparaoconsole,eleprecisaráterumajaneladeterminalou,alternativamente,usardiálogosdaGUI,comozenity.PrefirausaraopçãoRuninTerminalsevocêquiserverocódigo.Sevocêquiserqueoscriptfaçaalgumacoisasemverasaídadoconsole-useaopçãoRun.

Além disso, se você tiver parâmetros de linha de comando, como sys.argv[1] no script, não poderá defini-los a menos que tenha a janela do terminal aberta.

    
por Sergiy Kolodyazhnyy 23.04.2016 / 19:42
3

Você precisa colocar a localização do programa para executar seu código na primeira linha e, em seguida, precisa definir o script para ser executado como um executável, alterando suas permissões. Isso pressupõe que você esteja iniciando seus aplicativos a partir do terminal ou de outro script.

Encontre sua instalação do Python

$ which python
/usr/bin/python

Adicione a localização dos programas à linha superior do programa com um #! na frente

#!/usr/bin/python

# Python code goes here....

Defina o script Python para ter direitos de execução

$ chmod 700 test.py

Agora você pode executar o script diretamente

$ ./test.py

Listagem de código para test.py

#!/usr/bin/python

print "test"
    
por Joseph 24.04.2016 / 07:24
2

Se você deseja executar este programa sem digitar python3 mnik.py , é necessário tornar o script executável e certificar-se de que python3 seja usado para executá-lo.

O primeiro que você pode fazer executando

 chmod +x mnik.py

o segundo que você pode fazer adicionando como a primeira linha de um script uma linha shebang que chama python3 . Em todos os sistemas Ubuntu com os quais trabalhei que vieram com o python3, você pode obter o python3 adicionando esta linha no topo:

#!/usr/bin/env python3

Após essas duas alterações, você pode digitar /path/to/mnik.py , ./mnik.py ou apenas mnik.py (o último requer que o script esteja em seu PATH).

Se você fizer essas alterações, convém também renomear mnik.py to mnik , prática comum com pacotes Python com comandos publicados no PyPI.

    
por Anthon 24.04.2016 / 11:41

Tags