闹腾了好几天,终于将CVXOPT安装成功,这里和大家分享安装过程:

  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

最新文章

  1. lvs + keepalived 介绍及安装
  2. Android Studio项目目录结构
  3. Leetcode: Perfect Rectangle
  4. ci 基础知识
  5. android启动模式2
  6. hbase基本结构
  7. CSS 居中大全【转】
  8. Base64加密
  9. [转载]深入理解JAVA的接口和抽象类
  10. Excel转换成PDF
  11. Mysql修改设置root密码的命令及方法
  12. Linux&shell之结构化命令
  13. 有了screen,妈妈再也不用担心我的学习啦
  14. Java多线程相关知识
  15. Linux入门基础知识
  16. [BZOJ]1085 骑士精神(SCOI2005)
  17. 启动tomcat时报错:http-nio-8080-exec-10
  18. 腾讯开源 MMKV — 基于mmap的高性能通用key-value组件
  19. GigE IP地址配置
  20. bzoj 1295 最长距离 - 最短路

热门文章

  1. Oracle ROWNUM用法和分页查询总结(转)
  2. C++的静态分发(CRTP)和动态分发(虚函数多态)的比较
  3. Visual Studio Package 插件开发
  4. iBatis自动生成的主键 (Oracle,MS Sql Server,MySQL)【转】
  5. 在JBoss中部署GeoServer
  6. 8086FLAG寄存器
  7. IO负载高的来源定位 IO系列
  8. unix进程的环境--unix环境高级编程读书笔记
  9. (转载)为啥我们要学习Linux
  10. 第八篇:web之前端踩的一些坑