Pergunta

O obstáculo que temos para enviar o python é o grande tamanho da biblioteca padrão.Existe uma distribuição mínima do Python ou uma maneira fácil de escolher o que queremos na biblioteca padrão?A plataforma é Linux.

Foi útil?

Solução

Se tudo o que você deseja é obter o subconjunto mínimo necessário (em vez de construir um exe o que o restringiria aos sistemas Windows), use o módulo de biblioteca padrão localizador de módulo para listar todos os módulos que seu programa requer (você obterá todas as dependências, diretas e indiretas).Então você pode zip todos os relevantes .pyo ou .pyc arquivos (dependendo se você executa Python com ou sem o -O flag) e apenas use esse arquivo zip como seu sys.path (além de um diretório para todos os .pyd ou .so bibliotecas dinâmicas de código nativo que você pode precisar - aquelas que precisam residir diretamente no sistema de arquivos para permitir que o sistema operacional as carregue conforme necessário, não podem ser carregadas diretamente de um arquivo zip da mesma forma que os módulos de bytecode do Python podem, infelizmente).

Outras dicas

Você já olhou py2exe? Ele fornece uma maneira de enviar programas Python sem exigir uma instalação do Python.

Como Hank Gay e Alex Martelli sugerem, você pode usar o PY2EXE. Além disso, eu sugiro olhar para usar algo como IRONPYTHON. Dependendo do seu aplicativo, você pode usar bibliotecas incorporadas na estrutura .NET (ou mono se para o Linux). Isso reduz o tamanho do seu envio, mas adiciona requisitos mínimos ao seu programa.

Além disso, se você estiver usando funções de uma biblioteca, poderá usar from module import x Em vez de fazer uma importação curinga. Isso reduz o tamanho do seu navio também, mas talvez não por muito

Espero que isto ajude

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top