win8.1安裝cvxopt

出處:http://www.cnblogs.com/hpblogs/p/4041540.html


  1. 從www.python.org下載並安裝Python。接下來,使用Python 2.7.5(32bit)版本(注意:64位win 7系統也可以直接安裝).
  2. 下載並安裝MinGW編譯器(www.mingw.org)
    • 下載並運行MinGW installer
    • 選擇安裝C編輯器(C compiler)、Fortran編譯器(Fortran compiler)以及MSYS Basic System
    • 打開環境變量,設置環境變量,變量名爲PATH,變量值爲c:\Python27;c:\MinGW\bin;c:\MinGW\msys\1.0\bin。如下圖所示
    •     
  3. 下載並編譯BLAS
    • 下載blas.tgz,解壓縮到BLAS文件夾
    • 進入命令行並切入到BLAS文件夾中
    • 輸入命令行
      • sed 's/_LINUX/_WIN/' make.inc -i
      • make && cp blas_WIN.a ../libblas.a
    • 注意:../ 表示當前目錄的上一級目錄
  4. 下載並編譯LAPACK
    • 下載lapack.tgz,解壓縮到LAPACK
    • 進入命令行並切入到LAPACK文件夾
    • 輸入命令行如下:
      • cp make.inc.example make.inc
      • make lapacklib && cp liblapack.a ..
    • 注意:.. 表示當前目錄的上一級目錄
  5. 下載並安裝CVXOPT
    • 下載CVXOPT,並解壓到cvxopt-1.1.7下
    • 拷貝第3、4步生成的libblas.a和liblapack.a到目錄cvxopt-1.1.7/src下
    • 編輯cvxopt-1.1.7/下setup.py文件,設置環境變量BLAS_LIB和BLAS_LIB_DIR:
      • BLAS_LIB = [‘blas’,’gfortran’]
      • BLAS_LIB_DIR = ‘.’
    • 使用下面的命令從\Python27\Lib\distutils\cygwinccompiler.py中移除‘-mno-cygwin’,
    • 在cvxopt-1.1.7文件夾下運行如下命令
      • python setup.py build --compiler=mingw32
      • python setup.py install

      • 最終在 ..\Python27\Lib\site-packages 下看到了cvxopt-1.1.7-py2.7.egg-info,並且用ipython能夠順利的import cvxopt.  DONE!!!
    • python的編譯方式改回來
      • mv c:\Python27\Lib\distutils\cygwinccompiler.py.bak c:\Python27\Lib\distutils\cygwinccompiler.py
  6. OK
這裏需要補充一下,我遇到的問題:

在進行最後的python setup.py build --compiler=mingw32時,提示我.\src\C\SuiteSparse\SuiteSparse_config中的SuiteSparse_config.c裏面的 struct timespec t ;是找不到

上網找了一下,發現這個好像是在linux中用到的time.h中定義的,我將cpp和h在vs中構建一下發現,根本就不會編譯這一段,所以之間將預定義的那一部分全部註釋掉就可以了,不知道mingw爲什麼回去編譯它。反正註釋掉就可以了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章