3.23 site -- Engarce con la configuración específica de la instalación

Este módulo es importado automáticamente durante la inicialización.

En versiones anteriores de Python (hasta la 1.5a3 inclusive), los guiones o módulos que necesitaban utilizar módulos específicos de la instalación debían utilizar "import site" en algún lugar cerca del principio del código. Esto ya no es necesario.

Esto agregará las rutas específicas de la instalación a la ruta de búsqueda de módulos.

Empieza construyendo hasta cuatro directorios a partir de una cabecera y una cola. Para la cabecera, utiliza sys.prefix y sys.exec_prefix; las cabeceras vacías se saltan. Para la cola, se utiliza la cadena vacía (en Macintosh y Windows) o se utiliza primero lib/python2.0/site-packages y luego lib/site-python (en Unix). Para cada combinación cabecera-cola, se verifica si existe el directorio construido. En tal caso, se añade la ruta a sys.path y se inspecciona la ruta en busca de ficheros de configuración.

Un fichero de configuración de ruta es un fichero de la forma package.pth. Contiene elementos adicionales (uno por línea) que se han de añadir a sys.path. Los elementos inexistentes nunca se añaden a sys.path, aunque no se hace ninguna comprobación respecto a si el elemento es un fichero y no un directorio. No se añade ningún elemento más de una vez a sys.path. Las líneas en blanco y las que comiencen por # se saltan.

Por ejemplo, supongamos que sys.prefix y sys.exec_prefix tienen un valor de /usr/local. La biblioteca de Python 2.0 se instalaría en /usr/local/lib/python2.0 (donde sólo los tres primeros caracteres de sys.version se utilizan para formar la ruta de instalación). Supongamos que ésta tiene un subdirectorio /usr/local/lib/python2.0/site-packages con tres subdirectorios, foo, bar y spam, y dos ficheros de configuración de ruta, foo.pth y bar.pth. Supongamos que foo.pth contiene lo siguiente:

# Configuración del paquete foo

foo
bar
bletch

y bar.pth contiene:

# Configuración del paquete bar

bar

El resultado sería que se añaden los siguientes directorios a sys.path, en el siguiente orden:

/usr/local/lib/python1.5/site-packages/bar
/usr/local/lib/python1.5/site-packages/foo

Hay que fijarse en que bletch se omite porque no existe. El directorio bar precede al directoriofoo porque bar.pth está alfabéticamente antes que foo.pth. Por último, spam se omite por no estar mencionado en ningún fichero de configuración de ruta.

Tras estas manipulaciones de la ruta de búsqueda, se intenta importar un módulo denominado sitecustomize, que puede realizar personalizaciones arbitrarias específicas de la instalación. Si al importarlo se genera una excepción ImportError, se le hace caso omiso.

Obsérvese que en algunos sistemas no Unix, sys.prefix y sys.exec_prefix están vacías y se omiten las manipulaciones de la ruta de búsqueda. No obstante, se intenta importar sitecustomize.


Ver Sobre este documento... para obtener información sobre sugerencias.