Instalación de Numpy localmente

Instalación de Numpy localmente

publiqué esta preguntaoriginalmente en StackOverflow, pero un usuario sugirió que lo moví aquí, ¡así que allá voy!

Tengo una cuenta en una computadora remota sin permisos de root y necesitaba instalar una versión local de Python (la computadora remota tiene una versión de Python que es incompatible con algunos códigos que tengo), Numpy y Scipy allí. He estado intentando instalar numpy localmente desde ayer, sin éxito.

Instalé con éxito una versión local de Python (2.7.3) en /home/myusername/.local/, así que accedo a esta versión de Python haciendo /home/myusername/.local/bin/python. Probé dos formas de instalar Numpy:

  1. Descargué la última versión estable de Numpy de la página web oficial, la descomprimí, entré en la carpeta descomprimida e hice: /home/myusername/.local/bin/python setup.py install --prefix=/home/myusername/.local. Sin embargo, aparece el siguiente error, seguido de una serie de otros errores (derivados de este):

    gcc -pthread -shared build/temp.linux-x86_64-2.7/numpy/core/blasdot/_dotblas.o
    -L/usr/local/lib -Lbuild/temp.linux-x86_64-2.7 -lptf77blas -lptcblas -latlas 
    -o build/lib.linux-x86_64-2.7/numpy/core/_dotblas.so
    /usr/bin/ld: /usr/local/lib/libptcblas.a(cblas_dptgemm.o): relocation 
    R_X86_64_32 against `a local symbol' can not be used when making a shared 
    object; recompile with -fPIC
    

    Sin saber realmente lo que esto significaba (excepto que el error aparentemente tiene que ver con la biblioteca LAPACK), simplemente hice el mismo comando que el anterior, pero ahora puse LDFLAGS='-fPIC', como lo sugiere el error, es decir, lo hice LDFLAGS="-fPIC" /home/myusername/.local/bin/python setup.py install --prefix=/home/myusername/.local. Sin embargo, recibí el mismo error (excepto que se agregó el prefijo -fPIC después del comando gcc anterior).

  2. Intenté instalarlo usando pip, es decir, haciendo /home/myusername/.local/bin/pip install numpy/después de instalar pip exitosamente en mi ruta local). Sin embargo, recibo exactamente el mismo error.

Busqué en la web, pero ninguno de los errores parecía similar al mío. Mi primera suposición es que esto tiene que ver con algún fragmento de código que necesita permisos de root para ser ejecutado, o tal vez con algún problema con la versión de las bibliotecas LAPACK o con gcc (la versión 4.1.2 de gcc está instalada en la computadora remota) .

Ayuda, ¿alguien?

Respuesta1

No, no se necesitan privilegios de root al compilar numpy. Acabo de hacer lo mismo en mi computadora hace un tiempo sin ningún tipo de root. No creo que sea necesario el --prefixmando. Intente usar la --useropción en su lugar con setup.py install --user. Esta opción hace automáticamente lo que estás intentando hacer.

Si esto no ayuda, comprobaría su versión de gcc y LAPACK. Quizás, si no puede actualizarlos, desee probar una versión anterior de numpy.

información relacionada