Python 通过管道安装带有MKL的Scipy

Python 通过管道安装带有MKL的Scipy,python,linux,scipy,pip,intel-mkl,Python,Linux,Scipy,Pip,Intel Mkl,我正在使用PIP安装Scipy和MKL,以提高性能。我的操作系统是64位的Ubuntu。使用这个解决方案,我创建了一个文件.numpy-site.cfg [mkl] library_dirs=/opt/intel/composer_xe_2013_sp1/mkl/lib/intel64/ include_dirs=/opt/intel/mkl/include/ mkl_libs=mkl_intel_lp64,mkl_intel_thread,mkl_core,mkl_rt lapack_libs

我正在使用PIP安装Scipy和MKL,以提高性能。我的操作系统是64位的Ubuntu。使用这个解决方案,我创建了一个文件.numpy-site.cfg

[mkl]
library_dirs=/opt/intel/composer_xe_2013_sp1/mkl/lib/intel64/
include_dirs=/opt/intel/mkl/include/
mkl_libs=mkl_intel_lp64,mkl_intel_thread,mkl_core,mkl_rt
lapack_libs=
此文件帮助我成功安装带有MKL的Numpy。但是,使用上述相同的文件,安装Scipy会提示错误

ImportError: libmkl_rt.so: cannot open shared object file: No such file or directory
我也用

export LD_LIBRARY_PATH=/opt/intel/composer_xe_2013_sp1/mkl/lib/intel64
但问题仍然是一样的


有人知道如何解决这个问题吗?我不想手动安装Scipy,所以任何人都可以给我一些提示来修复它。

自从提出这个问题以来,两年过去了

现在linux上有了numpy/scipy控制盘,它们使用了为avx2编译的openblas,因此您可以在不构建软件包的情况下获得更好的性能。您可能需要升级pip以使其安装控制盘:

pip install --upgrade pip
pip install numpy scipy

如果您需要MKL,则可以安装或。他们使用conda而不是pip来管理包,但是他们是免费的,并且分发包含所有依赖项的包,包括MKL。

由于实际问题本身没有得到回答,让我试一试

我认为这里的问题基本上是所使用的BLAS/LAPACK库分布在多个位置,numpy不能很好地处理这个问题


我们已经在EasyBuild中解决了这一问题,在EasyBuild中,我们已经在Intel MKL上构建numpy/scipy一段时间了,使用此修补程序:

在过去几周中,我一直面临这个问题: Windows 10 64位Python 3.5.2

我的解决方法:

首先:
pip安装车轮

下一步:下载Numpy和Scipy表格Gholke的回购协议 及

然后:

pip安装numpy\u包。whl


pip安装scipy\u软件包。whl

如果在安装或运行特定版本时遇到问题,请先卸载,然后安装

步骤1:

pip uninstall -v numpy
步骤2:下载控制盘文件并安装

pip install -U numpy-1.13.0+mkl-cp36-cp36m-win_amd64.whl
在此示例中,车轮文件名为“numpy-1.13.0+mkl-cp36-cp36m-win_amd64.whl

我用Python 3.6.2安装了Win10 64位,我通过

我采取了以下步骤:

  • 步骤1:如果您有任何早期版本的numpy,请卸载, pip卸载numpy
  • 步骤2:使用下载numpy-1.13.1+mkl-cp36-cp36m-win_amd64.whl MKL(数学内核库)从下面的链接,
  • 步骤3:将下载的文件复制到另一个位置并启动命令 从该位置进行提示
  • 步骤4:运行此命令, pip安装-U numpy-1.13.1+mkl-cp36-cp36m-win_amd64.whl
  • 步骤5:现在从下载scipy库,
  • 步骤6:将下载的文件复制到创建numpy的相同位置 抄袭的
  • 步骤7:在CMD提示符中运行此CMD, pip安装scipy-0.19.1-cp36-cp36m-win_amd64.whl

完成了

对我来说,MKL是由conda安装Scipy提供的Scipy库

@rscohn2解决方案给了我一个使用包的提示


作为参考,我的环境包括Ubuntu、Anaconda、Python 3.6、Scipy 1.1和MKL 2018.0

英特尔一直在发布Numpy、Scipy和Scikit learn to PyPI等一系列软件包。这些控制盘是在链接英特尔MKL时构建的,包括各种优化

如果要使用“英特尔MKL”构建Scipy:

#Remove existing Numpy and/or Scipy:
pip uninstall numpy scipy -y
#Install scipy built with Intel MKL:
pip install intel-scipy

您是否尝试过使用
export-LD\u-LIBRARY\u-PATH=/opt/intel/composer\u-xe\u 2013\u sp1/mkl/lib/intel64:$LD\u-LIBRARY\u-PATH
?我以前尝试过此选项。然而,错误仍然存在。我不知道如何修复它。您必须使用
library\u dirs
include\u dirs
检查这些库是否确实存在于指定的位置。情况并非如此,原因可能有很多。最明显的是您安装了较旧/较新的Intel Studio版本,或者您将编译器和库安装到了非默认位置。请告诉我您做了什么?你按照我建议的步骤做了吗?对不起。时间太长了。我不再使用这个服务器了,所以无法应用你的解决方案。OP明确地说是Ubuntu。OP使用的Ubuntu没有轮子。最好的选择是Anaconda,那是用于windows的。伙计,非常感谢,回答得很好,表达得也很好。到2019年3月,Python 3.7还不能使用。Pip在存储库中找不到“intel scipy”。我有python 3.6.9,它运行正常。您可能还需要获得llibpython<代码>apt安装libpython3.6。我用
numpy.show\u config()