Gli installer di eseguibili sono il formato naturale per le distribuzioni di binari in Windows. Mostrano una gradevole interfaccia utente e forniscono alcune informazioni circa la distribuzione del moduli che deve essere installata, prendendola dai metadata nello script di setup; lasciano all'utente la selezione di alcune opzioni e l'avvio e lo stop dell'installazione.
Siccome i metadata vengono presi dallo script di setup, creare installer per Windows � solitamente tanto facile quanto eseguire:
python setup.py bdist_wininst
o il comando bdist con l'opzione --formats:
python setup.py bdist --formats=wininst
Se si ha a disposizione una distribuzione di moduli puri (contenenti soltanto puri moduli e package Python), il risultante installer sar� una versione indipendente e avr� un nome simile a foo-1.0.win32.exe. Questi installer possono essere creati sia su piattaforme Unix che su quelle Mac OS.
Se si ha a disposizione una distribuzione non pura, le estensioni possono essere create solo su piattaforme Windows e saranno dipendenti dalla versione di Python. Il nome dell'installer riflette questo ed assume la forma di foo-1.0.win32-py2.0.exe. Si deve creare un installer separato per ogni versione Python che si vuole supportare.
L'installer cercher� di compilare i moduli puri in bytecode dopo
l'installazione sul sistema di destinazione in modalit� normale ed
ottimizzata. Se non si vuole che questo accada, si pu� eseguire il
comando bdist_wininst con una od entrambe le opzioni
--no-target-compile e
--no-target-optimize.
In modo predefinito l'installer mostrer�, una volta avviato, il gradevole logo ``Python Powered'' ma si pu� anche fornire il progrio logo, che deve essere un file Windows .bmp con l'opzione --bitmap.
L'installer mostrer� anche un grande titolo sullo sfondo della finestra quando viene eseguito, che verr� costruito dal nome della propria distribuzione ed il numero di versione. Questo pu� essere sostituito con altro testo usando l'opzione --title.
Il file installer verr� scritto nella ``directory di distribuzione'' -- normalmente dist/, ma � personalizzabile con l'opzione --dist-dir.
A partire da Python 2.3, uno script di post installazione pu� essere specificato con l'opzione --install-script. Il nome di base dello script deve essere specificato ed il nome dello script deve anche essere elencato nell'argomento degli script nella funzione di setup.
Questo script verr� eseguito durante la fase di installazione sul
sistema di destinazione, dopo che tutti i file sono stati copiati, con
argv[1] impostato a -install, e nuovamente durante
la fase di disinstallazione, prima che i file siano rimossi con
argv[1] impostato a -remove.
Lo script di installazione viene eseguito internamente
all'installatore di windows, ogni output (sys.stdout,
sys.stderr) viene rediretto in un buffer e verr� mostrato
nell'ambiente grafico, GUI, dopo che lo script � terminato.
Alcune funzioni particolarmente utili in questo contesto sono disponibili come funzioni integrate aggiuntive nello script di installazione.
| path) |
| path) |
| csidl_string) |
"CSIDL_APPDATA" "CSIDL_COMMON_STARTMENU" "CSIDL_STARTMENU" "CSIDL_COMMON_DESKTOPDIRECTORY" "CSIDL_DESKTOPDIRECTORY" "CSIDL_COMMON_STARTUP" "CSIDL_STARTUP" "CSIDL_COMMON_PROGRAMS" "CSIDL_PROGRAMS" "CSIDL_FONTS"
Se la directory non pu� essere recuperata, viene sollevata l'eccezione OSError.
Quale directory � disponibile dipende dalla versione esatta di Windows e probabilmente anche dalla configurazione. Per i dettagli si faccia riferimento alla documentazione Microsoft per la funzione SHGetSpecialFolderPath().
| target, description, filename[, arguments[, workdir[, iconpath[, iconindex]]]]) |
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.