open sourceProgrammare col martelloPython

Creare eseguibili Windows in Python con pyinstaller

python programming programmazione da zero python

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):

NSIS

INNO SETUP

Comment here