Un file eseguibile è un file che non richiede l’istallazione di una piattaforma per funzionare (in questo caso Python), ma purtroppo il pacchetto standard di Python non include funzioni per creare file eseguibili per questo motivo è necessario un componente aggiuntivo chiamato py2exe scaricabile gratuitamente del sito ufficiale: http://www.py2exe.org/.
Quindi dopo aver installato py2exe create una copia del programma che si vuole convertire in eseguibile e lasciatela nella stessa cartella in cui si trova il programma originario a questo punto bisogna rinominare la copia e chiamarla “setup.py”, poi aprire questo nuovo file attraverso l’IDLE di Python, copiate il seguente script di setup e incollarlo all’interno del programma in alto (devono essere la prima cosa che py2exe leggerà e interpreterà):
from distutils.core import setup
import py2exe
setup (console = ["nome.py"])
A questo punto bisogna sostituire la parola "nome.py" con il nome del programma originario (il nome deve includere anche l’estensione .py).
Adesso salvate il tutto e cliccate su “start” poi su “Esegui” e selezionate attraverso il pulsante “Sfoglia…” il file di nome “setup.py”. A questo punto bisogna aggiungere (lasciando uno spazio vuoto) la parola “py2exe” al percorso che è stato impostato nella riga della console, e infine cliccare su “ok” e attendere che il procedimento termini, alla fine del processo verrà automaticamente mandato in esecuzione il nuovo programmino ciò avverrà solamente per constatarne il corretto funzionamento, quindi si possono chiudere tutte le finestre. Infine nella cartella in cui si trova il “setup.py” sono state create due nuove cartelle, una di nome “build” che può essere immediatamente eliminata e l’altra chiamata “dist” che può essere rinominata e conservata, essa contiene il programma in formato eseguibile.
Se invece il file da convertire è costituito da una semplice interfaccia grafica allora per ottenere il corretto risultato basta sostituire la parola “console” con “windows” nello script di setup, ma se l’interfaccia non dovesse essere semplice e per funzionare correttamente siano necessari file come immagini o fonts allora si possono aggiungere manualmente i file o cartelle mancanti copiandoli nella cartella principale dell'eseguibile oppure (se volete complicarvi la vita) si possono dichiarare nello script di setup a al resto penserà py2exe:
from distutils.core import setup
import glob
import py2exe
setup (windows = ["nome.py"],
data_files = [("bitmaps",
["immagine.gif", "percorso/immagine.bmp"]),
("fonts",
glob.glob ("fonts\\*.fnt"))],
)
E come nel primo caso sostituite "nome.py" con il nome del programma, poi sostituite "immagine.gif" e "percorso/immagine.bmp" con tutti i percorsi delle immagini da implementare senza scordare le virgole e le virgolette, poi fate lo stesso con "fonts\\*.fnt" ricordando che durante la trasformazione verranno create due cartelle dai nomi arbitrari una contenente le immagini chiamata “bitmaps” e una altra “fonts” per questo motivo affinché il programma funzioni correttamente è necessario modificare all’interno del programma stesso tutti i percorsi delle immagini e fonts ricordando che dopo la trasformazione questi file si troveranno nelle rispettive cartelle “bitmaps” e “fonts”. Infine per concludere il procedimento eseguire le stesse operazioni dei casi precedenti.
Un'altra importante funzionalità di py2exe è quella di poter aggiungere un'icona personalizzata all'eseguibile:
from distutils.core import setup
import py2exe
setup(
windows = [
{
"script": "nome.py",
"icon_resources": [(1, "miaicona.ico")]
}
],
)
Seguite le procedure precedenti e ricordatevi di sostituire "miaicona.ico" con il percorso dell'icona da aggiungere. |