Pergunta

Ao usar py2exe para distribuir aplicações Python com wxPython, alguns MSVC DLLs são geralmente necessários para fazer o trabalho .exe em máquinas recém-instaladas. Em particular, as duas mais comuns são DLLs msvcp71.dll e msvcr71.dll

O primeiro pode ser incluído no .exe usando esta dica . No entanto, este último é apenas colocado no dir dist por py2exe e não no executável, mesmo se eu pedir especificamente para incluí-lo.

Qualquer idéia de como fazer com que py2exe para incluir tanto dentro do .exe?

Foi útil?

Solução

Não seria deixar de lançamento, então? Você quer msvcr71.dll no mesmo diretório como o exe, para que o carregador da biblioteca será capaz de encontrar e vinculá-lo em mapa de memória do aplicativo.

É necessário para a operação básica, então você não pode simplesmente deixar py2exe descompactá-lo com o resto das DLLs.

Outras dicas

py2exe não pode fazer isso. Você pode embrulhar py2exe (há um exemplo no wiki mostrando como fazer isso com NSIS) ; você pode construir o seu próprio invólucro se estiver usando NSIS ou InnoSetup não era uma opção.

Como alternativa, se você é positivo que seus usuários terão uma cópia compatível do msvcr71.dll instalado (usuários IIRC Vista ou XP SP2), então você poderia fugir sem incluí-lo. Mais útil, talvez, se você usar o Python 2.3 (ou mais), então as ligações Python contra msvcr.dll em vez de msvcr71.dll, e qualquer usuário do Windows terá que instalado, então você simplesmente não pode se preocupar com isso.

Sim, py2exe pode fazer isso. Visite este link. E se você estiver usando python2.7, substitua "msvcr71" para " msvcp90" .

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