Instalé Ubuntu 12.04 64 bit. Necesito trabajar con python y scipy, los instalé y cuando ejecuto la prueba:
python -c "import scipy; scipy.test()"
Entiendo el mensaje:
ImportError: libatlas.so.3gf: no se puede abrir el archivo de objeto compartido: No existe tal archivo o directorio
Sin embargo, tengo bibliotecas libatlas instaladas en el directorio /usr/lib/atlas-base
. Sé que puedo copiar los archivos directamente debajo /usr/lib
, pero me pregunto cómo podría configurar el scipy para usar las bibliotecas usr/lib/atlas-base
.
Respuestas:
No tienes que copiar nada en ningún lado.
Debe agregar las bibliotecas de atlas a la lista de ubicaciones
ld
que buscará.En el directorio
/etc/ld.so.conf.d
puede agregar el archivoatlas-lib.conf
. Este archivo debe contener el directorio delibatlas.so.3gf
, que es/usr/lib/atlas-base
.Puedes hacer esto ejecutando
Finalmente corre
actualizar
ld
para que sepa sobre este nuevo archivo.Alternativamente, puede configurar
LD_LIBRARY_PATH
para incluir la ruta a la biblioteca cuando ejecuta y debería estar disponible dentro de SciPy.fuente
sudo ldconfig
para activarlovirtualenv
, ¿cómo lo harías en ese caso?virtualenv
es un tema completamente separado, pero sin acceso a la raíz, puede configurarloLD_LIBRARY_PATH
de la manera adecuada que se menciona en la respuesta.Para mí, usando un virtualenv,
export LD_LIBRARY_PATH=/usr/lib/atlas-base/:${LD_LIBRARY_PATH}
al final de mi.bashrc
archivo lo arreglé.fuente