Para executar um script Python na linha de comando, ele precisa estar gravado em um arquivo com a extensão “.py”. Abra o prompt de comando no Windows, ou o terminal no Linux/MacOS, e digite python <nome do arquivo>.py <lista de argumentos>
. Para que isso funcione, o interpretador Python precisa estar instalado na máquina e seu caminho deve estar configurado na variável PATH
, fazendo com que o arquivo executável python
esteja acessível a partir da linha de comando.
Veja um exemplo utilizando um script muito simples, que só imprime na tela a saudação “Bom dia!”.
print('Bom dia!') # O script só faz isso.
Code language: Python (python)
Esse script está gravado no arquivo bomdia.py
, no diretório corrente.
Para executar esse script, basta usar o comando abaixo. Se o script bomdia.py
não estivesse no diretório corrente, você precisaria informar o caminho completo.
C:\scripts>python bomdia.py
Bom dia!
Code language: PowerShell (powershell)
Agora imagine que o seu script tem que ler um nome passado como argumento e imprimir a saudação na tela com esse nome.
O script precisa ser modificado para receber esse argumento.
import sys
print(f'Bom dia, {sys.argv[1]}.')
Code language: Python (python)
A execução é parecida com a do exemplo anterior, mas agora inclui o argumento usado na saudação.
C:\scripts>python bomdia.py Guilherme
Bom dia, Guilherme.
Code language: PowerShell (powershell)
Quando você executa esse comando, o interpretador Python lê todas as linhas do seu script e compila o código encontrado para um formato intermediário, chamado bytecode.
O código é passado nesse formato para a Máquina Virtual Python (Python Virtual Machine) e é executado.
Viu como é fácil?
Essa é a maneira mais comum de executar um script Python na linha de comando, mas nesse post eu também mostro uma outra muito útil.
Na prática, é claro que você vai trabalhar com scripts muito mais complexos.
Mas não importa o tamanho ou a complexidade do script. Para que a execução funcione, o interpretador Python precisa estar instalado e a configuração do ambiente precisa estar correta.
Então, para você ter certeza de que vai conseguir executar o seu script Python, veja nas seções a seguir os detalhes da configuração do ambiente.
Como configurar o ambiente para rodar um script Python
Após a instalação do Python na máquina, é preciso que o arquivo executável python
esteja no PATH
, ou você não vai conseguir executar seus scripts.
Se você instalou o Python usando a distribuição Anaconda, não precisa se preocupar com essa configuração. Basta abrir o prompt Anaconda e já estará tudo configurado para executar o Python.
Para saber como instalar e usar o Python dessa maneira, dá uma olhada nesse post.
As instruções a seguir são para adicionar o caminho do executável python.exe
ao PATH
no sistema operacional Windows 10, mas os passos são bastante semelhantes para outras versões do Windows. Para realizar a mesma tarefa no Linux, siga as instruções específicas da sua distribuição.
- Clique com o botão direito do mouse sobre o botão iniciar.
- Selecione a opção “Sistema”.
- Clique em “Informações do sistema”, do lado direito da tela, na parte de cima.
- Na nova tela que for aberta, clique em “Configurações avançadas do sistema”.
Como alternativa a esses passos, pressione a tecla com o logotipo do Windows e digite “variáveis” na caixa de pesquisa. Selecione a opção “Editar as variáveis de ambiente do sistema”.
Na janela “Propriedades do sistema”, clique no botão “Variáveis de ambiente”.
Edite a variável Path
dentro das variáveis de usuário ou crie uma nova, caso não exista, e inclua o caminho para o executável Python.
Após concluir as alterações e clicar em “OK” para fechar todas as janelas, inicie uma nova sessão do prompt de comando, pressionando a tecla com o logotipo do Windows + “R” e digitando `cmd.
Na nova janela, digite python
e confirme que o sistema agora consegue encontrar o arquivo executável do interpretador Python.
Como criar um script executável em Python
No Linux, é possível criar um script executável, usando uma sintaxe especial que informa o caminho para o interpretador Python dentro do arquivo de código.
Veja como ficaria o script bomdia.py
usando essa sintaxe.
#!/usr/bin/env python
import sys
print(f'Bom dia, {sys.argv[1]}.')
Code language: Python (python)
Essa primeira linha indica para o sistema operacional qual programa deve ser usado para executar o script.
A sintaxe usando #!
é chamada de hashbang ou shebang e também funciona para diversos outros interpretadores de scripts, como Perl e Bash.
O caminho do programa informado nessa linha pode ser escrito de duas formas:
#!/usr/bin/python
– Esse é o caminho absoluto para o executável Python.#!/usr/bin/env python
– O comandoenv
é responsável por buscar o executávelpython
noPATH
. Essa opção é mais flexível, mas pode ser que o arquivo executável errado seja usado, se houver mais de uma versão do Python instalada na máquina.
Para o interpretador Python, essa linha é apenas um comentário normal.
Além de incluir essa sintaxe especial, para criar um arquivo executável no Linux, você precisa mudar as permissões de arquivo para incluir a opção de execução, usando o comando chmod +x bomdia.py
.
Já no Windows, não existe o conceito de “arquivo texto executável” e essa sintaxe não faz diferença.
No entanto, o instalador associa no Registro do Windows os arquivos com extensão “.py” ao executável python.exe
.
Dessa forma, é possível executar o script digitando apenas bomdia.py
na linha de comando, ou dando um clique duplo sobre o arquivo no gerenciador de arquivos.
O único problema de usar esse procedimento é que uma nova janela do prompt de comando é aberta para a execução do script e é fechada quando a execução termina.
No caso do script bomdia.py
, que não pausa para interagir com o usuário e só imprime uma saudação antes de terminar, o máximo que você vai ver é uma tela preta piscando na sua frente.
Mas e se você não quiser que a janela do terminal apareça?
Basta alterar a extensão do arquivo de script para “.pyw”. Isso indica para o Windows que o executável pythonw.exe
deve ser usado. Ele funciona da mesma maneira que o python.exe
, mas executa em segundo plano, sem abrir uma janela para o prompt de comando.
Conclusão
Assim como o Jupyter Lab, o interpretador Python é muito prático para testar instruções em modo interativo, mas um programa real com centenas ou milhares de linhas precisa ser gravado em um arquivo com a extensão “.py”.
Depois de ler esse post, você aprendeu a sintaxe para executar um script Python na linha de comando.
Além disso, conheceu uma forma útil de criar um script executável e entendeu a importância de ter a configuração correta do ambiente de execução.
Agora você já pode criar e executar programas complexos em Python e ter maior produtividade sem depender de ferramentas de desenvolvimento.
E não esqueça de comentar aqui embaixo e dizer como eu posso melhorar esse post!