Muitas vezes criamos scripts em Python para automatizar algum processo repetitivo que realizamos no dia-a-dia, ou até mesmo fazemos softwares mais complexos para determinadas tarefas. O problema é: todas as bibliotecas externas ao Python base precisam estar instaladas na máquina para que tudo funcione corretamente. Neste artigo, você irá aprender como “empacotar” seu script Python em um único arquivo .exe, que rodará em qualquer máquina.
Se você tem alguma automação em Python, a chance é muito grande de que ela utilize alguma biblioteca externa, isto é, um pacote que foge ao Python padrão para realizar alguma tarefa específica, como a biblioteca Pandas para automação em Excel, por exemplo. O ponto é: caso você queira que outras pessoas utilizem o seu script, ou até mesmo queira distribuí-lo, não é ideal que o usuário final tenha que saber exatamente quais bibliotecas instalar, e como instalar. Este passo muitas vezes nem é transponível para a maioria dos usuários. Também não é muito interessante ter que ir máquina por máquina, e instalar todas as dependências da aplicação. É por essas e outras que transformar seu script em um executável é algo muito interessante de se fazer. Não só torna a sua vida mais fácil ao distribuir a aplicação, como a do usuário também, que precisará abrir apenas um arquivo, sem etapas adicionais, para poder usar seu programa.
Para poder transformar seus scripts Python em executáveis, primeiramente você precisa instalar a biblioteca PyInstaller na sua máquina. Isto é bem simples, apenas abra o terminal do seu computador e instale-o com o PiPI utilizando o nome da biblioteca.
Há diversas formas de abrir o terminal, e obviamente o seu terminal dependerá do sistema operacional que você está utilizando. Para abrir o terminal do Windows, basta pesquisar "CMD" na pesquisa, e abrir o aplicativo que aparece no primeiro resultado.
Com o terminal aberto, execute o comando abaixo.
cmd1pip install pyinstaller
Você precisa ter o PiPI na sua máquina, o qual provavelmente já está instalado, pois ele vem com a instalação do Python. Para verificar se o PiPI está instalado na sua máquina, você pode executar o comando "pip --version". Caso retorne a versão, ele está instalado. Caso dê erro, instale o PiPI na sua máquina para poder continuar.
Agora que você já está com o PyInstaller em sua máquina, basta abrir no terminal a pasta onde está o seu script Python. Para fazer isso, você pode seguir uma das formas abaixo.
Abra a pasta do seu script no explorador de arquivos, clique na barra de endereços e digite no início "cmd" (com as aspas), seguido de um espaço. Feito isso, pressione enter, e o terminal abrirá na pasta que você estava.
Caso preferir, você pode acessar a pasta no CMD com o seguinte comando:
cmd1cd C:/SeuEndereço
Substitua "C:/SeuEndereço" pelo caminho da pasta, que você pode copiar na barra de endereços do explorador de arquivos. Dê dois cliques na barra de endereço na pasta do script, copie-o e cole no terminal.
No Windows, recomendo o CMD para utilizar o PyInstaller, pois com ele o funcionamento é garantido.
Com a pasta aberta no terminal, você poderá apontar o código-fonte do seu script para o PyInstaller, e ele será capaz de o encontrar, uma vez que está no mesmo diretório. Há diversos parâmetros que você pode usar, mas o que nos interessa é o seguinte.
cmd1pyinstaller -F seuprograma.py
Substitua "seuprograma.py" pelo nome do seu script. Com esta linha de código, o PyInstaller identificará automaticamente as bibliotecas que o seu script precisa para funcionar corretamente, e compactará tudo em um único arquivo .exe, isto graças ao parâmetro “-F”.
Desta forma, o PyInstaller criará as pastas “dist” e “build” no diretório atual, e seu arquivo executável estará na pasta “dist”. É importante ressaltar que o PyInstaller criará arquivos temporários nestas pastas durante a execução, mas seu executável será independente e terá tudo que precisa para seu código funcionar, empacotado dentro dele.
É importante saber que o PyInstaller criará o executável em diferentes formatos, dependendo da plataforma em que ele está. No Windows, criará um .exe, no Linux criará um .elf e no MacOS criará um .app.
Este é o básico que você precisa saber para utilizar o PyInstaller. Caso queria se aprofundar mais, você pode ler a documentação oficial do projeto ↗.