Subsections


5 Il file di configurazione di Distutils

Come descritto in precedenza, potete usare i file di configurazione di Distutils per registrare preferenze personali o indirizzi per ogni opzione di Distutils. Così, ogni opzione ed ogni comando possono essere conservati in uno, due o tre file di configurazione (a seconda della vostra piattaforma) che potranno essere consultati prima che venga analizzata la riga di comando. Questo significa che quei file di configurazione annulleranno i valori predefiniti e la riga di comando sovrascriverà i file di configurazione. Inoltre, se si applicano file di configurazione multipli, i valori presenti nei file ``iniziali'' verranno annullati da quelli ``successivi''.


5.1 Indirizzi e nomi dei file di configurazione

I nomi e la posizione dei file di configurazione varieranno leggermente nelle diverse piattaforme. Su Unix, i tre file di configurazione (nell'ordine in cui vengono elaborati) sono:

Tipo di file  Indirizzo e nome del file  Note 
sistema prefix/lib/pythonver/distutils/distutils.cfg (1)
personali $HOME/.pydistutils.cfg (2)
locali setup.cfg (3)

Su Windows, i file di configurazione sono:

Tipo di file  Indirizzo e nome del file  Note 
sistema prefix\Lib\distutils\distutils.cfg (4)
personali %HOME%\pydistutils.cfg (5)
locali setup.cfg (3)

E su Mac OS:

Tipo di file  Indirizzo e nome del file  Note 
sistema prefix:Lib:distutils:distutils.cfg (6)
personali N/A  
locali setup.cfg (3)

Note:

(1)
Solo per dirlo, i file di configurazione di Distutils risiedono nella medesima directory di dove Distutils stesso è stato installato; è così in Python 1.6 e seguenti, su Unix. Per Python 1.5.2, le Distutils vengono normalmente installate in prefix/lib/python1.5/site-packages/distutils, così i file di configurazione del sistema dovrebbero essere messe lì, in Python 1.5.2.

(2)
Su Unix, se la variabile di ambiente HOME non viene definita, la directory home dell'utente verrà determinata dalla la funzione getpwuid(), dal modulo standard pwd.

(3)
Per esempio, nella directory corrente (solitamente la posizione dello script di setup).

(4)
(Vedete anche le note (1).) In Python 1.6 e successivi, il valore predefinito per il prefix d'installazione di Python è C:\Python, così i file di configurazione normalmente si trovano in C:\Python\Lib\distutils\distutils.cfg. In Python 1.5.2, il valore predefinito per il prefix era C:\Program Files\Python e le Distutils non erano parte della libreria standard--così il file di configurazione in un'installazione standard di Python sotto Windows dovrebbe essere C:\Program Files\Python\distutils\distutils.cfg.
(5)
Su Windows, se la variabile di ambiente HOME non viene definita, non verrà trovato o usato nessun file di configurazione. (In altre parole, le Distutils non si apetteranno la vostra directory home in Windows).
(6)
(Vedete anche note (1) e (4).) Il valore predefinito per il prefix d'installazione è solo Python:, così sotto Python 1.6 e successivi è normalmente Python:Lib:distutils:distutils.cfg.


5.2 Sintassi dei file di configurazione

I file di configurazione di Distutils hanno tutti la medesima sintassi. I file di configurazione vengono riuniti all'interno di sezioni. C'è una sezione per ogni comando Distutils, più una sezione global per opzioni globali che interessano ogni comando. Ogni sezione consiste di un'opzione per riga, specificata come option=value.

Per esempio, il seguente è un file di configurazione completo che forza tutti i comandi ad un'esecuzione non prolissa in modo predefinito:

[global]
verbose=0
Se questo viene installato come il file di configurazione del sistema, interesserà tutti i processi di tutti i moduli della distribuzione Python per ogni utente del sistema. Se viene installato come un vostro personale file di configurazione (nei sistemi che lo supportano), interesserà solo il modulo della distribuzione elaborato per voi. Se viene usato come il setup.cfg per un particolare modulo della distribuzione, interesserà solo quella distribuzione.

Potete sovrascrivere la directory predefinita ``build base'' ed eseguire i comandi build* forzando sempre la ricostruzione di tutti i file nel seguente modo:

[build]
build-base=blib
force=1

Che corrisponde agli argomenti da riga di comando

python setup.py build --build-base=blib --force

ad eccezione di quelli che comprendono il comando build da riga di comando, ovvero, quel particolare comando verrà comunque eseguito. L'inclusione di un particolare comando nel file di configurazione non ha implicazioni; significa soltanto che se il comando viene eseguito, l'opzione nel file di configurazione verrà applicata. (O se altri comandi che traggono valori da esso vengono eseguiti, useranno i valori del file di configurazione.)

Potete trovare un elenco completo delle opzioni per ogni comando usando l'opzione --help, per esempio:

python setup.py build --help

e troverete l'elenco completo delle opzioni globali da usare.

L'--help senza un comando:

python setup.py --help

Vedete anche la sezione ``Riferimenti'' del manuale ``Distribuire moduli Python''

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.