3.28 site -- Estensione alla configurazione specifica della piattaforma

Questo modulo viene automaticamente importato durante l'inizializzazione. L'importazione automatica può venire soppressa usando l'opzione -S dell'interprete.

Importando questo modulo verranno aggiunti, al modulo di ricerca del percorso, i percorsi specifici dell'ambiente.

Inizia il suo lavoro costruendo fino ad un massimo di quattro directory, da quella di testa a quella finale. Per la parte iniziale, utilizza sys.prefix e sys.exec_prefix; le intestazioni vuote vengono saltate. Per la parte finale, utilizza una stringa vuota (su Macintosh o Windows) o utilizza per primo lib/python2.3/site-packages e quindi lib/site-python (su Unix). Per ogni diversa combinazione testa-coda, verifica se questa si riferisce ad una directory esistente, e se è così, la aggiunge a sys.path, verificando inoltre il nuovo percorso dei file di configurazione.

Un file di configurazione del percorso è un file il cui nome ha la forma package.pth, ed esiste in una delle quattro directory menzionate precedentemente; i suoi contenuti sono degli elementi addizionali (uno per riga) che devono venire aggiunti a sys.path. Elementi non esistenti non vengono mai aggiunti a sys.path, ma non viene fatto alcun controllo per verificare se gli elementi si riferiscono ad una directory (piuttosto che ad un file). Nessun elemento viene aggiunto a sys.path più di una volta. Le righe vuote e quelle che iniziano con il carattere # vengono saltate. Le righe che iniziano con import vengono eseguite.

Per esempio, supponete che sys.prefix e sys.exec_prefix vengano impostate a /usr/local. La libreria Python 2.3.4 viene quindi installata in /usr/local/lib/python2.3 (dove solo i primi 3 caratteri di sys.version vengono utilizzati per costruire il nome del percorso di installazione). Supponete che questa abbia una sotto directory /usr/local/lib/python2.3/site-packages con tre sotto directory, foo, bar e spam, e due percorsi dei file di configurazione, foo.pth e bar.pth. Assumete anche che foo.pth contenga i seguenti:

# configurazione del package foo

foo
bar
bletch

e che bar.pth contenga:

#  configurazione del package bar

bar

Quindi le seguenti directory vengono aggiunte a sys.path, in questo ordine:

/usr/local/lib/python2.3/site-packages/bar
/usr/local/lib/python2.3/site-packages/foo

Notate che bletch viene omesso perché non esiste; la directory bar precede la directory foo perché bar.pth viene alfabeticamente prima di foo.pth; e spam viene omesso perché non viene menzionato in nessun file di configurazione dei percorsi.

Dopo questa manipolazione di percorsi, viene effettuato un tentativo per importare un modulo chiamato sitecustomize che può effettuare personalizzazioni arbitrarie specifiche per l'ambiente di sistema in oggetto. Se questa importazione fallisce con un'eccezione ImportError, il tentativo di importazione viene silenziosamente ignorato.

Notate che per alcuni sistemi non Unix, sys.prefix e sys.exec_prefix sono vuoti, e la manipolazioni dei percorsi viene saltata; comunque l'importazione di sitecustomize viene ancora tentata.

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