Introdução
Neste tutorial, iremos explorar a conversão de scripts Python para ficheiros executáveis do Windows em quatro passos simples. Embora existam muitas formas de o fazer, iremos cobrir, de acordo com a opinião popular, a mais simples até agora.
Este tutorial foi concebido após a revisão de muitos erros comuns que as pessoas enfrentam enquanto executam esta tarefa, e por isso contém informação detalhada para instalar e configurar todas as dependências também. Sinta-se à vontade para saltar qualquer passo, se já tiver essas dependências instaladas. Sem mais demoras, vamos começar.
passo 1: Instalar cURL
cURL fornece uma biblioteca e uma ferramenta de linha de comando para transferir dados usando vários protocolos. Precisamos dela para descarregar o gestor de pacotes pip no passo seguinte. Muitos de vós já o teriam configurado, o que podem verificar executando o seguinte comando:
$ curl --version
Se o comando acima devolver uma versão curl, podem saltar as instruções seguintes neste passo. Quanto ao resto, pode instalar o curl seguindo estes três passos:
No entanto, isto significa que só pode usar o comando curl nessa pasta em particular. Para poder utilizar o comando curl a partir de qualquer ponto da sua máquina, clique com o botão direito do rato em curl.exe, clique em “Propriedades” e copie o valor “Localização”. Depois disso, clique com o botão direito do rato em “Meu PC” e clique em “Propriedades”. No painel de opções do lado esquerdo, seleccione a opção “Advanced System Settings”. Foi realçada na imagem de ecrã abaixo.
Na janela que aparece, clicar em “Variáveis de Ambiente” perto da parte inferior direita. Foi realçado na imagem abaixo.
Na janela seguinte, encontrar e clicar duas vezes na variável do utilizador chamada “Path”, depois clicar em “New”. Uma nova caixa de texto será criada nessa janela; cole o valor “Location” do ficheiro “curl.exe” que copiou anteriormente, e depois clique em “OK”.
cURL deve agora estar acessível a partir de qualquer ponto do seu sistema. Confirme a sua instalação executando o comando abaixo:
$ curl --version
Vamos para o próximo passo.
Passo 2: Instalar pip
Neste passo, instalaremos pip, que é basicamente um gestor de pacotes para pacotes Python. Precisamos dele no passo seguinte para instalar a biblioteca do pyinstaller. A maioria de vós já a teria instalado, para verificar se executa o seguinte comando:
$ pip --version
Se o comando acima devolveu uma versão do pip, pode saltar as instruções seguintes neste passo.
Como resto, pode instalar pip executando os dois comandos seguintes no prompt de comando:
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python get-pip.py
É isso mesmo. O Pip foi agora instalado na sua máquina local! Pode executar o seguinte comando para confirmação:
$ pip --version
Antes de passar ao passo seguinte, precisa de repetir o que fizemos para o curl.exe para que possa aceder ao comando pip a partir de qualquer ponto da sua máquina, mas desta vez vamos fazê-lo para o “pip”.exe”.
Hitalize a tecla Windows e procure por “pip.exe”, depois clique com o botão direito do rato no primeiro resultado da pesquisa e clique em “Open File Location”, ele irá levá-lo para a pasta em que esse ficheiro se encontra. Clicar com o botão direito do rato no ficheiro “pip.exe” e depois seleccionar “Propriedades”. Depois disso, copie o valor “Location” e cole-o na variável Path tal como fizemos no Passo 1.
Passo 3: Instalar PyInstaller
Neste passo, instalaremos o pyinstaller usando pip. Precisamos do pyinstaller para converter os nossos scripts Python em ficheiros executáveis (.exe). Basta copiar colar o comando abaixo no seu prompt de comando e executá-lo:
$ pip install pyinstaller
Again, para confirmar a sua instalação, execute o seguinte comando:
$ pyinstaller --version
Nota: Se tem o Anaconda instalado no seu sistema, então provavelmente está a usar conda
gestor de pacotes em vez disso. Nesse caso, execute os seguintes comandos abaixo, em sequência:
$ conda install -c conda-forge pyinstaller$ conda install -c anaconda pywin32
Este passo marca o fim de todas as instalações. No passo seguinte, vamos converter os nossos ficheiros Python para um executável com um único comando.
Passo 4: Converter ficheiros Python para executáveis
Este é o último passo. Vamos usar o instalador pyinstaller para converter os nossos .py
ficheiros para .exe
com um único comando. Então, vamos fazê-lo!
Abrir o prompt de comando e navegar para o directório onde se encontra o seu ficheiro/script Python. Em alternativa, pode abrir esse directório utilizando o Explorador de Ficheiros, clicar com o botão direito do rato + shift e depois seleccionar “Open Command Prompt in this folder”. Antes de converter o seu ficheiro, deve verificar se o seu ficheiro funciona como esperado. Para esse efeito, escrevi um script Python básico que imprime o número 10 quando executado.
Deixe correr o script e ver se funciona bem antes de o converter para um ficheiro executável. Execute o seguinte comando no seu prompt de comando:
$ python name_of_your_file.py
No meu caso, o nome do ficheiro era ‘sum.py’.
Para criar um ficheiro executável autónomo no mesmo directório que o seu ficheiro Python, execute o seguinte comando:
$ pyinstaller --onefile <file_name>.py
Esta instrução pode demorar algum tempo a completar. Após a conclusão, irá gerar três pastas. Pode encontrar o ficheiro executável na pasta ‘dist’. Por favor note que o argumento “onefile” diz ao pyinstaller para criar um único ficheiro executável.
P>P>Prossiga agora o nosso ficheiro executável para ver se o procedimento funcionou!
Ta-da! Funcionou tal como esperado.
Uma pequena dica, se o seu ficheiro executável fechar demasiado rápido para que possa reparar na saída, pode adicionar uma linha input()
no fim do seu ficheiro Python, que mantém o prompt aberto enquanto espera pela utilização da entrada. Foi assim que consegui tirar uma imagem de ecrã da minha saída também.
Também note que se o seu executável depende de qualquer outro ficheiro executável, como phantomjs
, precisa de os manter no mesmo directório que o seu ficheiro Python para que o pyinstaller possa incluí-lo no executável.
Conclusion
Neste tutorial, discutimos em detalhe a conversão de scripts Python para ficheiros executáveis usando a biblioteca do Python pyinstaller em quatro passos. Começámos por instalar cURL, seguido de pip e pyinstaller. Finalmente, convertemos uma amostra de ficheiro Python para executável para assegurar que o procedimento funciona em Windows.