Usando Atlas de scipy

13

Eu instalei o Ubuntu 12.04 64 bit. Eu preciso trabalhar com python e scipy, eu os instalei e quando eu executar o teste:

python -c "import scipy; scipy.test()"

Eu recebo a mensagem:

ImportError: libatlas.so.3gf: cannot open shared object file: No such file or directory

No entanto, tenho bibliotecas libatlas instaladas sob o diretório /usr/lib/atlas-base . Eu sei que posso copiar os arquivos diretamente em /usr/lib , mas gostaria de saber como eu poderia configurar o scipy para usar as bibliotecas de usr/lib/atlas-base ?

    
por lmsasu 23.10.2012 / 19:54

2 respostas

19

Você não precisa copiar nada em lugar algum.

Você deve adicionar as bibliotecas do atlas à lista de locais que o ld pesquisará.

No diretório /etc/ld.so.conf.d , você pode adicionar o arquivo atlas-lib.conf . Este arquivo deve conter o diretório libatlas.so.3gf , que é /usr/lib/atlas-base .

Você pode fazer isso executando

echo "/usr/lib/atlas-base" | sudo tee /etc/ld.so.conf.d/atlas-lib.conf

Finalmente execute

sudo ldconfig

para atualizar ld para que ele saiba sobre esse novo arquivo.

Como alternativa, você pode definir LD_LIBRARY_PATH para incluir o caminho para a biblioteca quando for executado e deve estar disponível no SciPy.

    
por 23.10.2012 / 20:10
2

Para mim, usando um virtualenv, export LD_LIBRARY_PATH=/usr/lib/atlas-base/:${LD_LIBRARY_PATH} no final do meu arquivo .bashrc , corrigi-lo.

    
por 22.03.2018 / 21:01