py2exe: múltiplos executáveis compartilhando recursos

Tenho feito algumas experiências com o py2exe e percebi que os meus executáveis estavam ficando muito grandes. Cada vez que se compila um executável, o runtime do python é anexado, juntamente com várias bibliotecas.

Não satisfeito, resolvi buscar uma maneira melhor de empacotar tudo e descobri que é possível compartilhar recursos entre vários executáveis. A dica é compilar tudo de uma só vez, usando apenas um zipfile.

Aqui vai o exemplo resumido de um arquivo de compilação (ex.: setup.py) para converter os scripts para console sample_1.py e sample_2.py em executáveis separados compartilhando recursos:

from distutils.core import setup
import py2exe, sys

options = dict(
    console=[dict(script='sample_1.py'),
             dict(script='sample_2.py')],
    options=dict(
        py2exe=dict(
            compressed = 1,
            optimize = 2,
            bundle_files = 1,
        ),
    ),
    zipfile='shared.zip',
)

setup(name='sample', **options)

E então, para compilar:

python setup.py py2exe

Achei pouca informação sobre isso e resolvi escrever aqui.

Sobre Rico
Software engineer

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: