加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

如何在Windows 7上安装Python 3.5的cvxopt

发布时间:2020-12-14 05:38:36 所属栏目:Windows 来源:网络整理
导读:我最近更新到 python 3.5.0并想安装cvxopt,到目前为止没有运气.所以我尝试了python 2.7并按照 here的说明安装了mingw(4.9.3)并从源代码构建了blas和lapack而没有问题. 我跑的时候 python setup.py build --compiler=mingw32 我得到以下输出: running buildr
我最近更新到 python 3.5.0并想安装cvxopt,到目前为止没有运气.所以我尝试了python 2.7并按照 here的说明安装了mingw(4.9.3)并从源代码构建了blas和lapack而没有问题.
我跑的时候

python setup.py build --compiler=mingw32

我得到以下输出:

running build
running build_py
running build_ext
building 'base' extension
C:minGWbingcc.exe -mdll -O -Wall -IC:Python27include -IC:Python27
c/C/base.c -o buildtemp.win32-2.7Releasesrccbase.o
C:minGWbingcc.exe -mdll -O -Wall -IC:Python27include -IC:Python27
c/C/dense.c -o buildtemp.win32-2.7Releasesrccdense.o
C:minGWbingcc.exe -mdll -O -Wall -IC:Python27include -IC:Python27
c/C/sparse.c -o buildtemp.win32-2.7Releasesrccsparse.o
src/C/sparse.c: In function 'sparse_concat':
src/C/sparse.c:368:30: warning: variable 'blk_ncols' set but not used [-
but-set-variable]
         int_t blk_nrows = 0,blk_ncols = 0;
                              ^
writing buildtemp.win32-2.7Releasesrccbase.def
C:minGWbindllwrap.exe -mdll -static --entry _DllMain@12 --output-lib
mp.win32-2.7Releasesrcclibbase.a --def buildtemp.win32-2.7Release
se.def -s buildtemp.win32-2.7Releasesrccbase.o buildtemp.win32-2.7
srccdense.o buildtemp.win32-2.7Releasesrccsparse.o -Lsrc -LC:Py
ibs -LC:Python27PCbuild -LC:Python27PCVS9.0 -lm -llapack -lblas -lg
-lpython27 -lmsvcr90 -o buildlib.win32-2.7cvxoptbase.pyd
c:/mingw/bin/../lib/gcc/mingw32/4.9.3libgfortran.a(write.o):(.text$writ
0xbb): undefined reference to `signbitq'
c:/mingw/bin/../lib/gcc/mingw32/4.9.3libgfortran.a(write.o):(.text$writ
0xe7): undefined reference to `finiteq'
c:/mingw/bin/../lib/gcc/mingw32/4.9.3libgfortran.a(write.o):(.text$writ
0x314): undefined reference to `finiteq'
c:/mingw/bin/../lib/gcc/mingw32/4.9.3libgfortran.a(write.o):(.text$writ
0x7f2): undefined reference to `isnanq'
collect2.exe: error: ld returned 1 exit status
dllwrap: gcc exited with status 1
error: command 'C:minGWbindllwrap.exe' failed with exit status 1

使用3.5我使用Anaconda. On this site他们展示了如何通过conda命令安装cvxopt,当我尝试这个时,我得到了未知的MS编译器版本1900错误.
使用这个“patch”安装超过了这一点,但是conda想要安装的所有软件包的错误结束(输出不包括在内,因为太长)

这是版本3.5的问题吗?还是mingw?还是64位Python?我正在尝试安装VC15以查看是否会改变一些事情,但实际上并不知道在哪里或者需要注意什么.

编辑:
我仍然不知道究竟是什么导致了这个问题,但是从this site开始的二进制文件,如here建议的那样,对Anaconda 64位和python 3.5完全有效(尽管你必须卸载numpy和scipy并使用网站上的版本)

至于minGW而言,它可能不适用于python 3.5,正如评论here中所建议的那样,为什么2.7给出了这些fortran错误,我完全不能说.

解决方法

这是一个迟到的回复,我看到你已经通过安装自定义轮子找到了解决问题的方法.但是,我想针对您的具体问题指出另一种选择.由于你似乎正在使用Anaconda运行python 3.5,因此有一个rdonnelly频道可以帮助你.

conda install -c rdonnelly cvxopt=1.1.9

这个解决方案特别方便那些没有准备好像我一样安装自定义numpy和scipy的人,因为他们打破了我的python安装两次.这是我在win64 py35系统上运行cvxopt的唯一方法.请注意,此软件包是为python 3.5量身定制的,当前的Conda默认安装为3.6.为此,我选择安装较早版本的Conda.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读