我安装的是 Ubuntu 12.04 64 位。我需要使用 python 和 scipy,我安装了它们,当我运行测试时:
python -c "import scipy; scipy.test()"
我收到消息:
导入错误:libatlas.so.3gf:无法打开共享对象文件:没有这样的文件或目录
但是,我在目录下安装了 libatlas 库/usr/lib/atlas-base
。我知道我可以直接复制下面的文件/usr/lib
,但我想知道如何设置 scipy 来使用 中的库usr/lib/atlas-base
?
答案1
您不必在任何地方复制任何内容。
您应该将图集库添加到要搜索的位置列表中ld
。
在目录中/etc/ld.so.conf.d
您可以添加文件atlas-lib.conf
。该文件应包含 的目录libatlas.so.3gf
,即/usr/lib/atlas-base
.
你可以通过运行来做到这一点
echo "/usr/lib/atlas-base" | sudo tee /etc/ld.so.conf.d/atlas-lib.conf
终于跑了
sudo ldconfig
进行更新ld
,以便它知道这个新文件。
或者,您可以设置LD_LIBRARY_PATH
在运行时包含库的路径,并且它应该在 SciPy 中可用。
答案2
对我来说,使用 virtualenv,export LD_LIBRARY_PATH=/usr/lib/atlas-base/:${LD_LIBRARY_PATH}
在文件末尾.bashrc
修复了它。