Eu instalei o Ubuntu 12.04 de 64 bits. Preciso trabalhar com python e scipy, instalei-os e quando executo o teste:
python -c "import scipy; scipy.test()"
Eu recebo a mensagem:
ImportError: libatlas.so.3gf: não é possível abrir o arquivo de objeto compartilhado: Esse arquivo ou diretório não existe
No entanto, tenho libatlas bibliotecas instaladas no diretório /usr/lib/atlas-base
. Sei que posso copiar os arquivos diretamente abaixo /usr/lib
, mas me pergunto como poderia configurar o scipy para usar as bibliotecas usr/lib/atlas-base
?
Respostas:
Você não precisa copiar nada em nenhum lugar.
Você deve adicionar as bibliotecas do atlas à lista de locais que
ld
serão pesquisados.No diretório
/etc/ld.so.conf.d
você pode adicionar o arquivoatlas-lib.conf
. Este arquivo deve conter o diretório delibatlas.so.3gf
, que é/usr/lib/atlas-base
.Você pode fazer isso executando
Finalmente corra
para atualizar
ld
para que ele conheça esse novo arquivo.Como alternativa, você pode definir
LD_LIBRARY_PATH
o caminho da biblioteca ao executar e ela deve estar disponível no SciPy.fonte
sudo ldconfig
para ativá-lavirtualenv
, como faria nesse caso?virtualenv
é um assunto completamente separado, mas sem acesso root, você pode definirLD_LIBRARY_PATH
da maneira apropriada, mencionada na resposta.Para mim, usando um virtualenv,
export LD_LIBRARY_PATH=/usr/lib/atlas-base/:${LD_LIBRARY_PATH}
no final do meu.bashrc
arquivo foi corrigido.fonte