====== PY2EXE ====== Py2Exe consente di trasformare uno script Python in un eseguibile Windows. ===== Pre Requisiti ===== Per prima cosa è necessario installare il pacchetto py2exe ==== Python 3.3+ ==== $ pip install py2exe ==== Python 2.6 ==== All'indirizzo [[http://aka.ms/vcpython27]] scaricare il pacchetto del compilatore C++ per python2.7 poi installare py2exe come segue $ pip install http://sourceforge.net/projects/py2exe/files/latest/download?source=files ===== Operatività ===== Solitamente, per mantenere un certo grado di pulizia, tendo a creare una cartella **py2exe** sotto la cartella del progetto. All'interno di detta cartella creerò la cartella **Redist** dove verrà copiato l'eseguibile finale e gli eventuali files di configurazione. {{ :python:py2exe:folder_structure.png?nolink |}} Nella cartella **py2exe** creo il file //''setup.py''// che contiene le informazioni relative all'eseguibile da generare from distutils.core import setup import py2exe, sys import os sys.argv.append('py2exe') setup( name = '', description = '', version = '', company_name = "", copyright = "", options = {'py2exe': {'bundle_files': 1, 'compressed': True, 'dll_excludes': [""]}}, zipfile = None, console = [{ "script":"", "icon_resources": [(1, "")], "dest_base":"" }], ) e poi creo il batch che si occuperà della conversione vera e propria ''//Convert2Exe.bat//'' @echo off cls c:\Python27\python.exe setup.py py2exe -i "" timeout 10 ed infine il batch che converte e smista ''//Prepare_Redist.bat//'' @Echo off call .\Convert2Exe.bat copy .\dist\.exe .\Redist /Y timeout 10 ===== Moduli Mancanti ===== Alla fine della compilazione potrebbe apparire un messaggio che avvisa della mancanza di alcuni moduli (il che significa che molto probabilmente l'eseguibile non funzionerà). Per ovviare a questa cosa si può intervenire sul parametro ''-i'' del batch ''//Convert2Exe.bat//'' se è facile identificare di che modulo si tratta. In alternativa c'è sempre lo ''"sporco trucco"'' di aggiungere a //''setup.py''// tutti i moduli presenti nello script che si vuole convertire. ===== Conclusione ===== Se tutto ha funzionato a dovere nella cartella ''Redist'' dovrebbe esserci il compilato dello script.