2012-06-02 7 views
8

Estoy ejecutando Linux, y he descargado un módulo de python que debo instalar sin acceso a ninguno, excepto a mi directorio particular/home/user (no tengo privilegios de administrador ni la opción de buscarlos).¿Cómo se puede especificar o agregar un directorio a la ruta de búsqueda de Python.h durante la compilación/instalación de un módulo con setup.py?

Esto, por supuesto, requiere la fuente de Python. Esto lo he descargado y tengo por ahí en dicho directorio de usuarios.

Mientras le pido al administrador que copie los archivos adecuados en /usr/include/python2.7 es la forma más fácil de hacerlo, estoy esperando una solución más general y portátil para este tipo de problema.

Cambiando solo datos en el origen del módulo (MANIFEST.in, README.txt, setup.py, etc.), ¿cómo podría agregar un directorio arbitrario a la ruta de búsqueda de Python.h y sus amigos?

(Sin una solución, "python setup.py construir" continuará volviendo con el "Python.h: No existe el fichero o directorio" error)

Muchas gracias.

+0

Creo que publicar en [SuperUser] (http://superuser.com/) y/o [ServerFault] (http://serverfault.com/) también puede ser beneficioso – inspectorG4dget

+0

Gracias, haré . – ca2longoria

+0

Esto podría ayudar: http://docs.python.org/install/index.html#alternate-installation-the-user-scheme –

Respuesta

7

Para compilar paquetes compilados, debe indicar al paso de configuración setup.py que busque en una ubicación diferente para incluir archivos. Creo que esto se puede hacer de esta manera:

python setup.py config --with-includepath=/path/to/your/install/of/python/includes/ 

También puede necesitar decirle setup.py sobre la ubicación de otros archivos (como bibliotecas), en cuyo caso, echar un vistazo a:

python setup.py config --help 

y mira las opciones --libraries y --library-dirs. Para cambiar la ubicación del paquete resultante se instala a, utilice la opción de prefijo después de la construcción, por ejemplo .:

python setup.py install --prefix=/path/to/install/to/ 

Aunque la combinación exacta de las opciones que usted requiere podría depender del paquete que está instalando. Si necesita hacer esto con frecuencia, creo que se puede hacer especificando un archivo de configuración setup.cfg, como se describe en here.

Cuestiones relacionadas