J'ai installé Ubuntu 12.04 64 bits. J'ai besoin de travailler avec python et scipy, je les ai installés et quand je lance le test:
python -c "import scipy; scipy.test()"
Je reçois le message:
ImportError: libatlas.so.3gf: impossible d'ouvrir le fichier d'objet partagé: aucun fichier ou répertoire de ce type
Cependant, j'ai des bibliothèques libatlas installées sous le répertoire /usr/lib/atlas-base
. Je sais que je peux copier les fichiers directement sous /usr/lib
, mais je me demande comment je pourrais configurer le scipy pour utiliser les bibliothèques usr/lib/atlas-base
?
Réponses:
Vous n'avez rien à copier n'importe où.
Vous devez ajouter les bibliothèques d'atlas à la liste des emplacements
ld
recherchés.Dans le répertoire,
/etc/ld.so.conf.d
vous pouvez ajouter le fichieratlas-lib.conf
. Ce fichier doit contenir le répertoire delibatlas.so.3gf
, qui est/usr/lib/atlas-base
.Vous pouvez le faire en exécutant
Enfin, exécutez
à mettre à jour
ld
pour qu'il connaisse ce nouveau fichier.Vous pouvez également définir
LD_LIBRARY_PATH
pour inclure le chemin d'accès à la bibliothèque lorsque vous exécutez et il devrait être disponible dans SciPy.la source
sudo ldconfig
pour le rendre actifvirtualenv
, comment feriez-vous dans ce cas?virtualenv
est un sujet complètement séparé mais sans accès root, vous pouvez définirLD_LIBRARY_PATH
de manière appropriée, ce qui est mentionné dans la réponse.Pour moi, en utilisant un virtualenv,
export LD_LIBRARY_PATH=/usr/lib/atlas-base/:${LD_LIBRARY_PATH}
à la fin de mon.bashrc
fichier, je l'ai corrigé.la source