Instalando o Numpy localmente

0

Eu postei essa pergunta originalmente no StackOverflow , mas um usuário sugeriu que eu a movesse aqui, então aqui eu vai!

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

Instalei com êxito uma versão local do Python (2.7.3) em /home/myusername/.local/, portanto, acesso a esta versão do Python fazendo /home/myusername/.local/bin/python . Eu 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, que é 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
    

    Não sabendo realmente o que isso significava (exceto que o erro aparentemente tem a ver com a biblioteca LAPACK), eu apenas fiz o mesmo comando acima, mas agora colocando LDFLAGS = '- fPIC', como sugerido pelo erro, ou seja, eu fiz %código%. No entanto, recebi o mesmo erro (exceto que o prefixo -fPIC foi adicionado após o comando gcc acima).

  2. Eu tentei instalá-lo usando pip, ou seja, fazendo LDFLAGS="-fPIC" /home/myusername/.local/bin/python setup.py install --prefix=/home/myusername/.local / após instalar com sucesso o pip 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 pedaço de código que precisa de permissões de root para ser executado, ou talvez com algum problema com a versão das bibliotecas do LAPACK ou com o gcc (o gcc versão 4.1.2 está instalado no computador remoto) .

Ajuda, alguém?

    
por Néstor 05.06.2012 / 02:46

1 resposta

1

Não, não há necessidade de privilégios de root ao compilar o numpy. Eu fiz exatamente a mesma coisa no meu computador há pouco tempo sem raiz. Eu não acredito que haja qualquer necessidade para o comando --prefix . Tente usar a opção --user em vez de 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 puder atualizá-los, tente uma versão mais antiga do numpy.

    
por 05.06.2012 / 02:58