Python 使用NumPy时出现lapack导入错误

Python 使用NumPy时出现lapack导入错误,python,linux,Python,Linux,尝试在Python 2.6中导入numpy时,我遇到: 从numpy.linalg导入lapack_lite ImportError:libmkl_lapack.so:无法打开共享对象文件:没有这样的文件或目录 在提供libmkl_lapack.so的机器上有多个Intel数学内核库实例,我用我能想到的每一个相关或半相关的环境变量(最值得注意的是,$LD_Library_PATH和$PYTHONPATH)指向它们。我没有运行ldconfig的权限 这是在一台使用良好的机器上,有多个Python和

尝试在Python 2.6中导入numpy时,我遇到:

从numpy.linalg导入lapack_lite

ImportError:libmkl_lapack.so:无法打开共享对象文件:没有这样的文件或目录

在提供libmkl_lapack.so的机器上有多个Intel数学内核库实例,我用我能想到的每一个相关或半相关的环境变量(最值得注意的是,$LD_Library_PATH和$PYTHONPATH)指向它们。我没有运行ldconfig的权限

这是在一台使用良好的机器上,有多个Python和NumPy安装。Python2.6位于my/home/me/usr/中,但Python2.4在/usr/中有一个较旧的安装,它将导入lapack_lite而不会出现问题。所以我不知道接下来该怎么办

谢谢你做的一切

你可以试试

strace python your_script.py
看看它在尝试什么

这将跟踪所有系统调用,从而显示python生成的底层open。

您可以尝试

strace python your_script.py
看看它在尝试什么


这将跟踪所有系统调用,从而向您显示python所做的底层open。

好的,谢谢。根据strace python的查找“/opt/gridengine/lib/lx26-amd64/”和“/etc/ld.so.cache”指定的四个目录。我无法创建从这些目录到libmkl_lapack.so已知位置的链接(而且我仍然无法更新/etc/ld.so.cache)。将继续尝试…LD_如何预加载库?LD_PRELOAD=/path/to/libmkl_lapack.so python your_script.py我认为它不会工作,但您可以尝试一下。我从LD_PRELOAD中得到“ERROR:LD.so:object'…/libmkl_lapack.so'无法预加载:忽略”。甚至在脚本开始运行之前(当然,在运行时也会出现相同的“无此类文件”错误).你确定你的libmkl_lapack.确实存在吗。我是说,你确定这不是一个坏的符号链接吗?(ls-l/path/to/libmkl_lapack.so应该有帮助)。如果它存在,难道不是64位对32位的问题吗?尝试readelf-h/path/to/libmkl_lapack.so(您应该有Class:ELF32/ELF64)和uname-a(您应该有i586/i686/x86_64)。mkl的两个可用实例(都存在)提供单独的32位和64位库。我使用的是64位(用于x86_64)。正如我在OP中所说,我实际上可以在Python2.4中导入lapack_lite而不会出现问题,所以我认为文件本身不是问题……好的,谢谢。根据strace python的查找“/opt/gridengine/lib/lx26-amd64/”和“/etc/ld.so.cache”指定的四个目录。我无法创建从这些目录到libmkl_lapack.so已知位置的链接(而且我仍然无法更新/etc/ld.so.cache)。将继续尝试…LD_如何预加载库?LD_PRELOAD=/path/to/libmkl_lapack.so python your_script.py我认为它不会工作,但您可以尝试一下。我从LD_PRELOAD中得到“ERROR:LD.so:object'…/libmkl_lapack.so'无法预加载:忽略”。甚至在脚本开始运行之前(当然,在运行时也会出现相同的“无此类文件”错误).你确定你的libmkl_lapack.确实存在吗。我是说,你确定这不是一个坏的符号链接吗?(ls-l/path/to/libmkl_lapack.so应该有帮助)。如果它存在,难道不是64位对32位的问题吗?尝试readelf-h/path/to/libmkl_lapack.so(您应该有Class:ELF32/ELF64)和uname-a(您应该有i586/i686/x86_64)。mkl的两个可用实例(都存在)提供单独的32位和64位库。我使用的是64位(用于x86_64)。正如我在OP中所说,我实际上可以在Python2.4中导入lapack_lite而不会出现问题,所以我认为文件本身不是问题。。。