[python] Prosím, poraďte mi, jak vytvořit exe soubor
superman
feed na centrum.cz
Pátek Srpen 8 13:27:53 CEST 2008
Daleko důležitější FAQ: py2exe je prasečina, která prostě jen natvrdo
prohledává řádky s import a vkládá je do souboru.
Důsledek 1: Pokud někdo importuje dynamicky, pak py2exe to nezjistí a
modul do exe nepřidá a je třeba mu to ručně říct, že tam patří.
Důsledek 2: Pokud je někdy v podmínkách importuj modul A, a když není,
tak modul B, tak je py2exe téměř v koncích. Ani nevíte, jaké problémy
jsou třeba někdy problémy s mysqldb modulem, který importuje jeden ze
dvou modulů pro práci s datumem, podle toho který je k dispozici. Občas
py2exe se pak chová v takovém případě jako diktátor, fašista, sadista, atd..
Důsledek 3 (aneb zákeřnější důsledek důsledku 1): Je třeba váš exe
vyzkoušet na počítači, kde není instalován Python!!! Protože pokud
py2exe zapomenete některé moduly přidat do exe, pak to nemusíte zjistit,
protože on je najde ve Vaší instalaci pythonu, a chyba se přikryje a vy
žijete v blahé navědomosti.
Důsledek 4 (aneb koincidence s instalací Pythonu): Bohužel Python
interpretr není zcela dobře dělán a je dost obtížné ho zbavit všech
závislostí na instalaci Pythonu. A protože interpretr Pythonu bohužel je
součástí i vytvořeného exe, tak se může stát, že na počítači s jinak
nastavenou instalací Pythonu začnou kolidovat různě cesty, a třeba
namísto vnitřního modulu v exe třeba volá instalovaný modul v instalaci
Pythonu. Je tedy třeba ještě vyzkoušet exe na počítači s jinak
nastavenými cestami Pythonu a nejlépe s jinou nekompatibilní verzí
Pythonu. Toto je bohužel zákeřnost, která je těžko zlepšitelná.
Důležité FAQ pro puntičkáře: Pokud přejmenujete název exe souboru,
program přestane chodit! Řada lidí to přejmenovává a pak se nestačí
divit a považuje to za chybu programátora. Je třeba do manuálu jasně
napsat, že název exe se nesmí přejmenovat jinak program nefachá!
Miloslav Ponkrác
> ----FAQ----
> FAQ1: Chyba?!
> -Zkontroluj jestli máš Python v PATH...
>
Další informace o konferenci Python