Um gerenciador de pacotes e projetos Python extremamente rápido, escrito em Rust, que substitui pip, virtualenv, pyenv, pipx e outras ferramentas.
pex-tool/pex
Ferramenta Python que empacota aplicações e dependências em arquivos .pex executáveis, como um virtualenv portátil.
- Estrelas
- 4,230
- Forks
- 321
- Issues abertas
- 58
- Último commit
- há 3 horas
O que é?
O Pex gera arquivos .pex (Python EXecutable), ambientes Python autocontidos que podem ser executados como um executável comum. A ideia amplia o PEP 441 e busca tornar a implantação de uma aplicação Python tão simples quanto copiar um arquivo. Um único arquivo .pex pode incluir distribuições específicas para várias plataformas, permitindo que o mesmo arquivo seja executado em diferentes sistemas operacionais.
O comando pex cria esses arquivos a partir de requisitos informados na linha de comando, da saída de pip freeze ou dos pontos de entrada console_scripts de um projeto. Também pode iniciar ambientes efêmeros, por exemplo, executando um script com Flask disponível sem criar um virtualenv persistente. É possível selecionar tipos específicos de interpretador, como PyPy, durante a compilação.
A instalação pode ser feita via pip, e o site de documentação do projeto traz mais informações sobre o uso e a integração do processo de compilação com ferramentas como Pants e Buck.
Recursos principais
- 01Cria ambientes Python executáveis em um único arquivo a partir de dependências ou arquivos de requisitos.
- 02Pode agrupar distribuições específicas para cada plataforma, permitindo executar um .pex em vários sistemas operacionais.
- 03Disponibiliza pontos de entrada console_scripts como executáveis independentes.
- 04Permite iniciar ambientes efêmeros para experimentos rápidos.
- 05Permite selecionar um interpretador específico, como PyPy, durante a compilação.
Casos de uso
- Distribuir uma ferramenta de linha de comando ou um serviço Python como um único arquivo para servidores, sem uma etapa de instalação separada.
- Empacotar um virtualenv funcional em um arquivo portátil usando a entrada de pip freeze.
- Executar rapidamente um script com algumas bibliotecas sem criar um ambiente para o projeto.
- Integrar compilações Python reproduzíveis a sistemas de build como Pants ou Buck.
Início rápido
- 1
Instale o pex pelo PyPI
pip install pex - 2
Gere um arquivo pex que reúna requests, flask e psutil
pex requests flask 'psutil>2,<3' -o my_app.pex
Tópicos
Perguntas frequentes
- O que é pex?
- Ferramenta Python que empacota aplicações e dependências em arquivos .pex executáveis, como um virtualenv portátil. O Pex gera arquivos .pex (Python EXecutable), ambientes Python autocontidos que podem ser executados como um executável comum. A ideia amplia o PEP 441 e busca tornar a implantação de uma aplicação Python tão simples quanto copiar um arquivo. Um único arquivo .pex pode incluir distribuições específicas para várias plataformas, permitindo que o mesmo arquivo seja executado em diferentes sistemas operacionais.
- pex é gratuito? Qual é a licença?
- pex é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- pex ainda é mantido?
- Manutenção ativa. O último commit de pex foi em 24 de out. de 2026.
- Para que posso usar pex?
- Distribuir uma ferramenta de linha de comando ou um serviço Python como um único arquivo para servidores, sem uma etapa de instalação separada. Empacotar um virtualenv funcional em um arquivo portátil usando a entrada de pip freeze. Executar rapidamente um script com algumas bibliotecas sem criar um ambiente para o projeto. Integrar compilações Python reproduzíveis a sistemas de build como Pants ou Buck.
- Como instalar pex?
- Instale o pex pelo PyPI: pip install pex Gere um arquivo pex que reúna requests, flask e psutil: pex requests flask 'psutil>2,<3' -o my_app.pex
- Onde consigo pex?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/pex-tool/pex
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Nuitka é um compilador de Python escrito em Python que transforma programas Python em executáveis independentes ou módulos de extensão.
Gerenciador moderno de pacotes e dependências Python que gerencia venvs, lockfiles e builds com base nos metadados PEP 621 e PEP 517.
Ferramenta automatizada de atualização de dependências que verifica repositórios em busca de pacotes desatualizados e abre pull requests para atualizá-los.
Um livro aberto e acessível para iniciantes que acompanha uma lâmina de silício da areia até o chip pronto, explicando o fluxo de fabricação sem entrar em física avançada.
Plataforma auto-hospedável para implantar apps, bancos de dados e serviços com um clique nos seus próprios servidores via SSH, como alternativa ao Heroku, Netlify e Vercel.