PyInstaller
pyinstaller permette di creare degli .exe direttamente dai file .py
E’ sufficiente installarlo con:
pip install pyinstaller
ed eseguire nella directory del nostro file .py:
pyinstaller --onefile nomedelloscript.py
Le librerie dipendenti più comuni (come tkinter per intenderci) sono generalmente incluse automaticamente, alcune esterne invece vanno specificate esplicitamente.
Ad esempio:
pyinstaller --onefile fe_import.py --hiddenimport xmltodict
Di default lo script crea due sottodirectory build e dist, contenenti l’exe e i file di informazione necessari alla compilazione.
Inoltre lo script apre una console/terminale windows al lancio del programma.
Nel caso volessimo evitarlo (ad esempio per applicazioni pensate per interfaccia esclusivamente grafica), possiamo usare l’opzione –noconsole:
pyinstaller --onefile fe_import.py --hiddenimport xmltodict --noconsole
Librerie aggiuntive
Nel mio caso ho installato una libreria esterna di Python che non veniva riconosciuta in alcun modo dal compliatore a causa di un problema di path di default di python.
Ho risolto disinstallando la libreria con pip uninstall nomelibreria, cambiando il path nelle variabili di sistema di windows e reinstallando la libreria.
Creare una procedura di installazione
Da mettere anche in conto il fatto che pyinstaller crea solo l’exe, quindi se è necessario includere le librerie di c++ per windows, bisogna fornirle separatamente od utilizzare un software di creazione installer come ad esempio questi (free/open source):
Comment here