Tutorial: Aplicação em Python + SQLite (Parte 04)

Tutorial: Aplicação em Python + SQLite (Parte 04)

Overview

Chegamos à reta final de nossa jornada de desenvolvimento! Neste último tutorial, vamos transformar nosso trabalho duro em algo muito tangível: um arquivo executável. Seja você um usuário Windows ou Mac, prepare-se para dar vida à sua aplicação Python. Aprenderemos juntos como o PyInstaller pode ser nosso grande aliado nessa etapa crucial. Vamos lá?

Durante este tutorial, nós criamos uma interface gráfica, definimos os comportamentos que serão necessários para a aplicação e ligamos estes comportamentos com a interface. Agora vamos para o passo final, que é compilar estes scripts e gerar um executável.

Índice:

Parte 04_ Compilando para Windows/Mac;

Este procedimento é bem simples e é igual tanto para Windows quanto para Macs. Obviamente, para gerar o aplicativo para Mac, você precisa de um Mac (ou um Hackintosh)…

Primeiro, precisamos instalar o pacote pyinstaller. Para isso, abra o prompt de comando (ou terminal) com privilégios de administrador e utiliza o pip para instalar o pacote…

<pre class="toolbar:2 lang:default decode:true">pip install pyinstaller

Ainda no prompt, navegue para o diretório onde estão os scripts da aplicação.

Exemplo:

<pre class="toolbar:2 lang:default decode:true">cd: c:\tfs\CadastroClientes

Agora utilize o pyinstaller para gerar o executavel:

<pre class="toolbar:2 lang:default decode:true">pyinstaller --onefile --windowed --noconsole aplicacao.py

A linha de comando acima irá compilar o script aplicacao.py e todas suas dependências em um arquivo .exe ou .app (dependendo da sua plataforma).

Neste ponto, pode ser que aconteça o erro “failed to create process”. Se acontecer, temos um artigo falando sobre o problema. Acesse-o para saber como resolver.

Vamos aos parametros utilizados:

  • –onefile: compila tudo em um arquivo binário único;
  • –windowede –noconsole: Informa que a aplicação será executava com interface gráfica e esconde o console.

Assim chegamos ao final da última parte deste tutorial. Em caso de dúvidas, deixe um comentário que tentarei responder.

*Update 21/11/2018: Criei um repositório no Github com este fonte completo. *

Postagens nesta série