BOMBOLOM.COM

(python) PY2EXE: Problema de compatibilidade entre Projectos

Este é um post de José Lopes.

Erro de execução nos ficheiros .exe mas não nos ficheiros .py

Pode lhe acontecer, após ter já utilizado o py2exe várias vezes em vários projectos, que os ficheiros exe quando executados dão erro na programação enquanto os ficheiros de Python correspodentes não apresentam qualquer problema quando executados de uma shell.

O projecto mais recente funciona sem problemas, mas um projecto anterior que acaba de editar depara-se com este problema.

Para perceber-se o problema vamos primeiro nos situar com a realidade.

A re-utilização de código no Python é muito comum por razões que são óbvias para quem utiliza esta linguagem de programação. É assim comum, ao criar diferentes projectos, utilizar ficheiros comuns mas que podem ter sofrido ligeiras alterações por conveniência de momento.

Ao existirem ficheiros com o mesmo nome mas com conteúdo diferente no repertório local vai causar o problema descrito com o py2exe.

O py2exe guarda na directoria build os dados necessários para os projectos, incluindo os módulos de python compilados (como os ficheiros .pyc ou .pyo). Se não se fizer um reset (apagar o conteúdo) desta directoria entre projectos ele vai acumular os dados.

Deste modo, ao existirem dois ficheiros de python que são compilados com o mesmo nome, o py2exe vai considerar o mais recente eliminado a versão anterior.

De notar que o py2exe não alerta para este tipo de situação.

A solução para este problema passa simplesmente por:

31.05.2007 | Ler mais | Comentários | Tags , ,

Voltar à Página principal | Made with PyBlosxom