Instalando Numpy localmente

Instalando Numpy localmente

eu postei essa perguntaoriginalmente no StackOverflow, mas um usuário sugeriu que eu o mudasse para cá, então aqui vou eu!

Tenho uma conta em um computador remoto sem permissões de root e precisei instalar uma versão local do Python (o computador remoto tem uma versão do Python que é incompatível com alguns códigos que possuo), Numpy e Scipy lá. Estou tentando instalar o numpy localmente desde ontem, sem sucesso.

Instalei com sucesso uma versão local do Python (2.7.3) em /home/myusername/.local/, então acesso esta versão do Python fazendo /home/myusername/.local/bin/python. Tentei duas maneiras de instalar o Numpy:

  1. Baixei a última versão estável do Numpy da página oficial, descompactei, entrei na pasta descompactada e fiz: /home/myusername/.local/bin/python setup.py install --prefix=/home/myusername/.local. No entanto, recebo o seguinte erro, seguido por uma série de outros erros (derivados deste):

    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
    

    Sem saber bem o que isso significava (exceto que o erro aparentemente tem a ver com a biblioteca LAPACK), apenas fiz o mesmo comando acima, mas agora colocando LDFLAGS='-fPIC', como sugerido pelo erro ou seja, fiz LDFLAGS="-fPIC" /home/myusername/.local/bin/python setup.py install --prefix=/home/myusername/.local. No entanto, recebi o mesmo erro (exceto que o prefixo -fPIC foi adicionado após o comando gcc acima).

  2. Tentei instalá-lo usando pip, ou seja, fazendo /home/myusername/.local/bin/pip install numpy/depois de instalar o pip com sucesso no meu caminho local). No entanto, recebo exatamente o mesmo erro.

Pesquisei na web, mas nenhum dos erros parecia ser semelhante ao meu. Meu primeiro palpite é que isso tem a ver com algum trecho de código que precisa de permissões de root para ser executado, ou talvez com algum problema com a versão das bibliotecas LAPACK ou com o gcc (a versão 4.1.2 do gcc está instalada no computador remoto) .

Ajuda, alguém?

Responder1

Não, não há necessidade de privilégios de root ao compilar numpy. Acabei de fazer a mesma coisa no meu computador há pouco tempo, sem nenhum root. Não acredito que haja necessidade do --prefixcomando. Tente usar a --useropção com setup.py install --user. Esta opção faz automaticamente o que você está tentando fazer.

Se isso não ajudar, eu verificaria sua versão do gcc e do LAPACK. Talvez, se você não conseguir atualizá-los, tente uma versão mais antiga do numpy.

informação relacionada