Artificiële Intelligentie interessegroep (AI ig)

Het omzetten van Python-code naar een .exe-bestand

door Theo.

Er zijn meerdere programma's waarmee je python code kunt omzetten naar een exe, zoals py2exe, py2app, cx_freeze, bbfreeze en pyinstaller.

Py2exe lijkt verouderd, de laatste release is van 2008. Py2app werkt alleen op Mac OS X. Cx_freeze, bbfreeze en pyinstaller zijn nog actief op dit moment en supporten Windows en Linux. Cx_freeze ondersteunt Python 3, bbfreeze en pyinstaller niet.

Ik wil graag een exe met alles erin hebben, die je kunt downloaden en ook goed werkt op een computer waar je geen python hebt geïstalleerd. Cx_freeze en bbfreeze ondersteunen dat niet zover ik kan zien, pyinstaller wel.

Daarom heb ik pyinstaller uitgeprobeerd. Het blijkt dat de output een exe met ingebouwde zipfile is. Deze unpacket zich in een temp directory en runt daarvandaan. Dat vind ik toch niet zo mooi.

Bij de source code van Python vond ik in de Tools directory een freeze programma. Daarmee kun je python code converteren naar een .c file met daarin de geparste python code als een char array. Deze code is vergelijkbaar met de inhoud van een .pyc file. Deze code kun je compileren samen met de Python source code tot een standalone programma. Het is me gelukt om daarmee een Windows exe te maken die geen afhankelijkheden heeft behalve het operating system.

Referenties:


(7 januari 2014)

GV 16-01-2014


Terug naar de AIgg eigen maaksels