Muchas veces, los esquemas de instalación alternativos descritos en
la sección
Habrá notado la columna de ``opciones a suplantar'' (override options) en las tablas descritas en los anteriores esquemas de instalación. Estas opciones constituyen como usted define un esquema de instalación personalizada. Estas opciones a suprimir pueden ser relativas, absolutas o definidas explicitamente en alguno de los directorios de instalación base. (Hay dos directorios de instalación base, normalmente son los mismos y sólo difieren al utilizar el esquema de prefijo de Unix y dados las opciones --prefix y --exec-prefix ambas diferentes.)
Por ejemplo, cuando se está instalando una distribución de módulos en su directorio ``home'' bajo Unix, pero desea que los guiones estén en /scripts en vez de /bin. Como se podría esperar se puede suplantar este directorio con la opción --install-scripts; en este caso, tiene más sentido proveer una ruta relativa, interpretada como relativa al directorio de instalación base (en este caso su directorio ``home''):
python setup.py install --home=~ --install-scripts=scripts
Otro ejemplo bajo Unix: Suponga que su instalación de Python fué construida con un prefijo de /usr/local/python, Entonces bajo una instalación estándar, los guiones terminan en /usr/local/python/bin. Si los desea en /usr/local/bin,debe suministrar el directorio absoluto para la opción --install-scripts:
python setup.py install --install-scripts=/usr/local/bin
Si usted mantiene Python bajo Windows, tambien querrá que sus módulos generados por terceros se ubiquen en un subdirectorio prefix, en ves de prefix. Esto resulta tan facíl como la personalización del directorio de instalación de los guiones de inicio o setup, sólo tiene que recordar que hay dos tipos de módulos por los que preocuparse, módulos puros y ``no puros'' (por ejemplo: modulos de uns distribución ``no pura). Por ejemplo:
python setup.py install --install-purelib=Site --install-platlib=Site
Si quiere definir un esquema completo de instalación, debe suplir todas las opciones de los directorios de instalación. La manera recomendada es la de suplir las rutas relativas; por ejemplo, si desea mantener todos los archivos relacionados a módulos Python en python e su directorio ``home'', y desea un directorio por separado para cada plataforma que utilice su directorio ``home'', debería definir el siguiente esquema de instalación:
python setup.py install --home=~ \ --install-purelib=python/lib \ --install-platlib=python/lib.$PLAT \ --install-scripts=python/scripts --install-data=python/data
python setup.py install --home=~/python \ --install-purelib=lib \ --install-platlib='lib.$PLAT' \ --install-scripts=scripts --install-data=data
$PLAT
no es necesariamente una variable de entorno, ésta se expande
por la acción de Distutils al referenciar las opciones de línea de comandos
(como cuando se referencia los archivos de configuración).
Obviamente, el especificar el esquema de instalación cada vez que instala
una nueva distribución de un módulo resulta tedioso. Para evitarlo,
pueden incluirse estas opciones en en su archivo de configuración de Distutils
(revise la sección
[install] install-base=$HOME install-purelib=python/lib install-platlib=python/lib.$PLAT install-scripts=python/scripts install-data=python/data
[install] install-base=$HOME/python install-purelib=lib install-platlib=lib.$PLAT install-scripts=scripts install-data=data
python setup.py --install-base=/tmp
Probablemente habrá notado el uso de $HOME
y $PLAT
en el
archivo de configuración de ejemplo. Éstas son configuraciones de las
variables de Distutils, sumamente similares a las variables
de entorno.
De hecho, se puede utilizar variables de entorno en los archivos config --en
aquellas plataformas que sostienen dicha noción-- pero las variables de
Distutils definen algunas variables adicionales que no pueden ser utilizadas
como las variables de entorno, tal y como la variable $PLAT
.
(Y por supuesto, solo se puede utilizar la variable de configuración
suministradas por Distutils en sistemas que no cuenten con variables de sistemas
como resulta en Mac OS (** cierto? **).)
refierase a la sección
** si necesita ejemplos en Windows and Mac OS -- cuando los esquemas de instlación personalizados son necesarios en esas plataformas? **