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.