Ce module est automatiquement importé pendant l'initialisation.
Dans des versions précédentes de Python (jusqu'à la version 1.5a3 incluse), des scripts ou des modules qui avaient besoin d'utiliser des modules propres à un site devaient placer "import site" quelque part au début de leur code. Ce n'est plus nécessaire.
Les chemins propres au site seront ajoutés au chemin de recherche des
modules.
Le module commence par construire jusqu'à quatre répertoires à partir
d'une partie tête et d'une partie queue. Pour la partie tête, il
utilise Un fichier de configuration de chemin est un fichier dont le nom
est de la forme package.pth; son contenu consiste en
éléments additionnels (un par ligne) à ajouter à Par exemple, supposez que et que bar.pth contienne:
Alors les répertoires suivants sont ajoutés à Notez que bletch est omis parce qu'il n'existe pas; le
répertoire bar précède le répertoire foo parce que
bar.pth est avant foo.pth dans l'ordre alphabétique; et
spam est omis parce qu'il n'est mentionné dans aucun fichier
de configuration de chemin.
Après ces manipulations de chemins, on essaie d'importer un module
appelé sitecustomize, qui
peuvent exécuter tout type de personnalisation propre au site.
Si cet importation échoue avec une exception ImportError,
aucun message n'est envoyé.
Notez que sur certains systèmes non-Unix, sys.prefix et sys.exec_prefix; les têtes vides
sont ignorées. Pour la partie de queue, il se sert de la chaîne vide
(sur Macintosh ou Windows) ou bien il utilise d'abord
lib/python/site-packages et ensuite lib/site-python
(sous Unix). Pour chaque combinaison tête-queue distincte, il voit
s'il se réfère à un répertoire existant, et si oui, il l'ajoute à
sys.path, et inspecte également le chemin pour les fichiers
de configuration.
sys.path.
Les éléments qui n'existent pas ne sont pas ajoutés à sys.path,
mais on ne vérifie pas que l'élément fait référence à un répertoire
(plutôt qu'à un fichier). Aucun élément n'est ajouté à
sys.path plus d'une fois. Les lignes vides et celles qui
commencent par # sont ignorées.
sys.prefix et sys.exec_prefix
ont pour valeur /usr/local. La bibliothèque de la
de Python est alors installée dans /usr/local/lib/python
(où seuls les trois premiers caractères de sys.version sont
utilisés pour former le nom du chemin d'installation). Supposez que
celui-ci ait un sous-répertoire
/usr/local/lib/python/site-packages avec trois
sous-sous-répertoires, foo, bar et spam, et deux fichiers
de configuration de chemin, foo.pth et bar.pth. Admettons que
le contenu de foo.pth soit:
# configuration du package foo
foo
bar
bletch
# configuration du package bar
bar
sys.path, dans cet
ordre:
/usr/local/lib/python1.5/site-packages/bar
/usr/local/lib/python1.5/site-packages/foo
sys.prefix et
sys.exec_prefix sont vides, et les manipulations de chemins
sont ignorées; cependant on essaie toujours d'importer
sitecustomize.