Visão geral do PyInstaller
PyInstaller agrupa um aplicativo Python e todas as suas dependências em um único pacote. O usuário pode executar o aplicativo empacotado sem instalar um interpretador Python ou qualquer módulo.
Documentação: | https://pyinstaller.org/ |
---|
Código: | https://github.com/pyinstaller/pyinstaller |
---|
PyInstaller lê um script Python escrito por você. Ele analisa seu código para descobrir todos os outros módulos e bibliotecas que seu script precisa para ser executado. Em seguida, ele coleta cópias de todos esses arquivos – incluindo o interpretador Python ativo! -- e os coloca com seu script em uma única pasta ou, opcionalmente, em um único arquivo executável.
PyInstaller é testado em Windows, macOS e GNU/Linux. No entanto, não é um compilador cruzado: para criar um aplicativo do Windows, você executa o PyInstaller no Windows; para fazer um aplicativo GNU/Linux você o executa em GNU/Linux, etc. PyInstaller foi usado com sucesso com AIX, Solaris, FreeBSD e OpenBSD, mas não foi testado contra eles como parte dos testes de integração contínua.
Principais vantagens
- Funciona imediatamente com qualquer versão 3.8-3.13 do Python.
- Totalmente multiplataforma, e utiliza o suporte do SO para carregar as bibliotecas dinâmicas, garantindo assim total compatibilidade.
- Agrupa corretamente os principais pacotes Python, como numpy, PyQt5, PySide2, PyQt6, PySide6, wxPython, matplotlib e outros prontos para uso.
- Compatível com muitos pacotes de terceiros prontos para uso. (Todos os truques necessários para fazer os pacotes externos funcionarem já estão integrados.)
- Funciona com assinatura de código no macOS.
- Agrupa DLLs do MS Visual C++ no Windows.
Instalação
PyInstaller está disponível no PyPI. Você pode instalá-lo através do pip:
Requisitos e plataformas testadas
- Pitão:
- 3.8-3.13. Observe que o Python 3.10.0 contém um bug que o torna insuportável pelo PyInstaller. O PyInstaller também não funcionará com versões beta do Python 3.14.
- Windows (32 bits/64 bits/ARM64):
- O PyInstaller deve funcionar no Windows 7 ou mais recente, mas oficialmente oferecemos suporte apenas ao Windows 8+.
- O suporte para Python instalado na loja do Windows sem usar ambientes virtuais requer PyInstaller 4.4 ou posterior.
- Linux:
- Distribuições baseadas em GNU libc nas arquiteturas
x86_64
, aarch64
, i686
, ppc64le
, s390x
. - distribuições baseadas em musl libc nas arquiteturas
x86_64
, aarch64
. - ldd: Aplicativo de console para imprimir as bibliotecas compartilhadas exigidas por cada programa ou biblioteca compartilhada. Isso normalmente pode ser encontrado no pacote de distribuição glibc ou libc-bin.
- objdump: Aplicativo de console para exibir informações de arquivos de objetos. Isso normalmente pode ser encontrado no pacote de distribuição binutils.
- objcopy: Aplicativo de console para copiar e traduzir arquivos de objeto. Isso normalmente também pode ser encontrado nos binutils do pacote de distribuição.
- Os usuários do Raspberry Pi no
armv5
- armv7
devem adicionar piwheels como um URL de índice extra e, em seguida, pip install pyinstaller
como de costume.
- macOS (
x86_64
ou arm64
): - macOS 10.15 (Catalina) ou mais recente.
- Suporta a construção de aplicativos
universal2
, desde que sua instalação do Python e todas as suas dependências também sejam compiladas universal2
.
Uso
O uso básico é muito simples, basta executá-lo no seu script principal:
pyinstaller /path/to/yourscript.py
Para mais detalhes, consulte o manual.
Plataformas não testadas
As seguintes plataformas foram contribuídas e quaisquer comentários ou melhorias sobre elas são bem-vindos.
- FreeBSD
- Solaris
- AIX
- AIX 6.1 ou mais recente. PyInstaller não funcionará com bibliotecas Python vinculadas estaticamente.
- ldd
- Linux em qualquer outra combinação de implementação/arquitetura libc não listada acima.
Antes de usar qualquer plataforma contribuída, você precisa construir o bootloader PyInstaller. Isso acontecerá automaticamente quando você pip install pyinstaller
desde que você tenha um compilador C apropriado (normalmente gcc
ou clang
) e os cabeçalhos de desenvolvimento do zlib já instalados.
Apoiar
- Guia oficial de depuração: https://pyinstaller.org/en/v6.11.1/when-things-go-wrong.html
- Diversos tópicos de ajuda contribuídos por usuários: https://github.com/pyinstaller/pyinstaller/wiki
- Fóruns de perguntas e respostas baseados na Web: https://github.com/pyinstaller/pyinstaller/discussions
- Fóruns de perguntas e respostas por e-mail: https://groups.google.com/g/pyinstaller
Mudanças nesta versão
Você pode encontrar uma lista detalhada de alterações nesta versão na seção Changelog do manual.