我使用Intel的MKL库构建了Numpy(这对我来说是一个困难的过程,我花了整整一天的时间!)。Numpy需要使用LD_LIBRARY_PATH环境变量链接到MKL库,或者至少我是这样做的...因此我在.bashrc中使用export保存路径,当我启动新控制台并运行python时,Numpy会正确加载库文件。
问题是它不能与我用Pydev开发程序的Eclipse一起使用。我仍然可以在Eclipse的首选项中添加LD_LIBRARY_PATH,但是当我尝试安装Scipy时,问题就变得真实了。Scipy的安装脚本需要导入Numpy,即使LD_LIBRARY_PATH已经正确设置,我仍然无法导入MKL库并出现错误:
问题是它不能与我用Pydev开发程序的Eclipse一起使用。我仍然可以在Eclipse的首选项中添加LD_LIBRARY_PATH,但是当我尝试安装Scipy时,问题就变得真实了。Scipy的安装脚本需要导入Numpy,即使LD_LIBRARY_PATH已经正确设置,我仍然无法导入MKL库并出现错误:
$ sudo python setup.py install
Traceback (most recent call last):
File "setup.py", line 208, in <module>
setup_package()
File "setup.py", line 145, in setup_package
from numpy.distutils.core import setup
File "/usr/local/lib/python2.7/dist-packages/numpy/__init__.py", line 137, in <module>
import add_newdocs
File "/usr/local/lib/python2.7/dist-packages/numpy/add_newdocs.py", line 9, in <module>
from numpy.lib import add_newdoc
File "/usr/local/lib/python2.7/dist-packages/numpy/lib/__init__.py", line 4, in <module>
from type_check import *
File "/usr/local/lib/python2.7/dist-packages/numpy/lib/type_check.py", line 8, in <module>
import numpy.core.numeric as _nx
File "/usr/local/lib/python2.7/dist-packages/numpy/core/__init__.py", line 5, in <module>
import multiarray
ImportError: libimf.so: cannot open shared object file: No such file or directory
libimf.so是MKL的共享库之一,我必须进行链接。
除了直接修改Numpy的__init__.py
文件(我更倾向于避免这样做,因为可能有更清晰的方法),我不知道该怎么做才能将Numpy永久链接到MKL库。
感谢您的帮助!
ldconfig
зҡ„жүӢеҶҢйЎөгҖӮ - talonmies