安装LAPACK/BLAS以帮助CVXOPT(或建议安装其他更容易安装的QP求解器)

4
我一直在尝试安装CVXOPT,但它需要LAPACK/BLAS,说实话这让我很烦恼!
背景:
我正在尝试使用SVM,因此需要一个QP求解器。CVXOPT似乎是最好的选择。问题在于LAPACK/BLAS(或ATLAS)依赖项。
我已经尝试安装ATLAS,我认为已经成功了,但是在尝试CVXOPT安装时仍然出现“无法找到-lblas”和“无法找到-llapack”的错误。
所以在过去的两天里,我一直在尝试遵循http://icl.cs.utk.edu/lapack-for-windows/lapack/#libraries_mingw上的各种方法来安装LAPACK,但结果证明这是我所做过的最困难的安装之一,而且我甚至还没有开始尝试安装BLAS。
问题:
有人能指导我如何安装LAPACK/BLAS吗?如果有简单的安装方法,请告诉我。

或者

B) 指导我使用不需要 LAPACK/BLAS 的 QP 求解器?到目前为止,我还没有找到一个更容易安装的选择。

谢谢!

3个回答

5

好的,我终于让这个该死的东西正常工作了。以下是我所做的,供将来需要安装CVXOPT的可怜人参考:

大部分步骤请按照http://abel.ee.ucla.edu/cvxopt/install/index.html#building-cvxopt-for-windows上的说明操作,但也有一些需要注意的:

1)从http://gnuwin32.sourceforge.net/下载gnuwin32以使用“sed”命令。

2)下载并使用cygwin而不是cmd来运行所有命令。因为在cmd中,“sed”和“make”命令无法正常工作。此外,在安装cygwin时,请确保包含make命令程序,该程序位于开发工具中。

3)以下两个命令略有不同:

sed 's/-mno-cygwin//g' -i'.bak' c:\Python27\Lib\distutils\cygwinccompiler.py

应该是

sed 's/-mno-cygwin//g' -i'.bak' "c:\Python27\Lib\distutils\cygwinccompiler.py"

mv c:\Python27\Lib\distutils\cygwinccompiler.py.bak c:\Python27\Lib\distutils\cygwinccompiler.py

应该是

mv "c:\Python27\Lib\distutils\cygwinccompiler.py.bak" "c:\Python27\Lib\distutils\cygwinccompiler.py"


1
我认为如果你将C:\cygwin\bin目录添加到你的路径中,你就不需要GnuWin32了,然后sed和make应该可以在Windows命令提示符(cmd)中工作。 - seumas

1

要在Windows上安装,请下载MLK numpy二进制文件和cvxopt二进制文件。

首先安装MLK numpy,然后安装cvxopt二进制文件。

请参阅此页面以获取这两个二进制文件的链接:

安装cvxopt时出现问题

十次中有九次应该可以解决。否则,您需要手动构建。祝贺您找到解决方法。


0

我按照CVXOPT的Windows教程做了,但我也遇到了“无法找到-lblas”和“无法找到-llapack”的问题。

对我有用的解决方法是,不要写

 BLAS_LIB_DIR = ‘.’

我写道:

 BLAS_LIB_DIR = ‘src’

它起作用了。:)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接