我正在尝试使我的一个 Python 自动化测试运行,但不幸的是遇到了这个错误:
ImportError: liblapack.so.3gf: cannot open shared object file: No such file or directory
机器规格为:Linux crazlulinuxuser 4.9.0-6-amd64 #1 SMP Debian 4.9.82-1+deb9u3 (2018-03-02) x86_64 GNU/Linux
我已经安装了正确的软件包,这里是 lapack 绝对路径的输出:
/usr/lib/x86_64-linux-gnu/lapack$ ls -Faithsl
total 19M
1060118 120K drwxr-xr-x 148 root root 116K Apr 25 14:07 ../
1705054 4.0K drwxr-xr-x 2 root root 4.0K Apr 25 14:05 ./
1714629 12M -rw-r--r-- 1 root root 12M Sep 13 2017 liblapack.a
1725288 0 lrwxrwxrwx 1 root root 18 Sep 13 2017 liblapack.so -> liblapack.so.3.7.1
1706104 0 lrwxrwxrwx 1 root root 18 Sep 13 2017 liblapack.so.3 -> liblapack.so.3.7.1
.bashrc
我在文件中有以下条目:
export LD_LIBRARY_PATH=/usr/local/nest-python/lib:/usr/lib/x86_64-linux-gnu:/usr/local/lib:/usr/lib/x86_64-linux-gnu/lapack
我确实遵循了其他 Stackoverflow 解决方案来解决类似问题,但未能成功解决。
我错过了什么?
答案1
看来您使用的某个二进制文件/库专门链接到“liblapack.so.3gf”,而该系统似乎并不存在于您的系统中。或许可以尝试创建一个名为“liblapack.so.3gf”的符号链接,指向“liblapack.so.3.7.1”(或者链接到现有链接之一可能更明智:“liblapack.so”或“liblapack.so.3”)。
$ sudo ln -s /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3 /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3gf
编辑:显然这些是包裹在提供 liblapack.so.3gf 的 Debian 系统上。我猜“liblapack3”是你想要的。它安装了吗?另外,你的 Python 环境是否像安装的 liblapack 库一样是 64 位的?如果不是,你将需要安装 32 位 (i386) liblapack 包。