python - 如何在 Windows 10 上安装适用于 Python 2.7 的 CVXOPT?

标签 python windows python-2.7 cvxopt cvxpy

最终我尝试安装CVXPY对于 Python 2.7。 CVXPY 有一些要求,包括 CVXOPT 。我尝试了两种方法,从 Gohlke 的网站安装,他在该网站上托管 Python 扩展的 Windows 二进制文件:http://www.lfd.uci.edu/~gohlke/pythonlibs/并自己从源代码构建。

使用 Gohlke 提供的二进制文件时,尝试在 python 中导入时出现以下错误:

import cvxpy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
...
File "C:\Python27\Lib\site-packages\cvxpy\interface\cvxopt_interface\dense_matrix_interface.py", line 26, in <module>
import cvxopt
File "C:\Python27\Lib\site-packages\cvxopt\__init__.py", line 32, in <module>
import cvxopt.base
ImportError: DLL load failed: The specified module could not be found.

我已检查 base.pyd 文件是否存在于 cvxopt/

从源代码构建时,我按照网站上的说明进行操作,最终使用 python setup.py build --compiler=mingw32 构建 CVXOPT 时,出现以下错误:

C:\MinGW\bin\gcc.exe -mdll -O -Wall -Isrc/C/SuiteSparse/AMD/Include -Isrc/C/SuiteSparse/SuiteSparse_config -IC:\Python27\include -IC:\Python27\PC -c src/C/SuiteSparse/SuiteSparse_config/SuiteSparse_config.c -o build\temp.win32-2.7\Release\src\c\suitesparse\suitesparse_config\suitesparse_config.o
src/C/SuiteSparse/SuiteSparse_config/SuiteSparse_config.c: In function 'SuiteSparse_tic':
src/C/SuiteSparse/SuiteSparse_config/SuiteSparse_config.c:358:21: error: storage size of 't' isn't known
 struct timespec t ;
                 ^
src/C/SuiteSparse/SuiteSparse_config/SuiteSparse_config.c:359:5: warning: implicit declaration of function 'clock_gettime' [-Wimplicit-function-declaration]
 clock_gettime (CLOCK_MONOTONIC, &t) ;
 ^
src/C/SuiteSparse/SuiteSparse_config/SuiteSparse_config.c:359:20: error: 'CLOCK_MONOTONIC' undeclared (first use in this function)
 clock_gettime (CLOCK_MONOTONIC, &t) ;
                ^
src/C/SuiteSparse/SuiteSparse_config/SuiteSparse_config.c:359:20: note: each undeclared identifier is reported only once for each function it appears in
src/C/SuiteSparse/SuiteSparse_config/SuiteSparse_config.c:358:21: warning: unused variable 't' [-Wunused-variable]
 struct timespec t ;
                 ^
error: command 'C:\\MinGW\\bin\\gcc.exe' failed with exit status 1

我对此进行了一些研究,错误:“t”的存储大小未知但我无法确定这是 CVXOPT 的错误还是 Windows 的错误?

我在 Windows 10 上使用 Python2.7。任何有关其中一些问题的建议或澄清都会很棒。就像我提到的,只是想让 CVXPY 工作,但似乎卡在 CVXOPT 上。谢谢!

更新

通过卸载当前的 numpy 版本并从 http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy 下载/安装 numpy-mkl whl,我能够获得 CVXOPT 的工作安装。 。然后我也从该站点安装了 CVXOPT 和 CVXPY。最终能够成功导入 cvxpy,并且没有出现 cvxopt.base DLL 错误。

仍然对我遇到的编译错误感到好奇。

最佳答案

谢谢你。我对此的 2 美分:

对于 Windows 7 上的 Anaconda,我只使用了omnia repo conda install -comnia cvxopt。看起来它正在工作。如果有问题会在这里更新。

关于python - 如何在 Windows 10 上安装适用于 Python 2.7 的 CVXOPT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38617239/

相关文章:

python - manage.py runserver 不终止

python - MySQL 5.6 中的全局查询超时

python - 标签没有改变

python - 如何使用 Python 3 元类动态生成中间类

windows - 在powershell中创建右键命令的教程

python - 如何在 django 模板 if 语句中使用自定义 django templatetag?

c# - 如何检查字符串是否有换行符,然后做一些事情

python - 将零重新定位到多维 numpy 数组中最后一个维度的末尾

python - 无效的正则表达式 : invalid escape\sequence, Postgres、Django

python - 全局名称 'x' 未定义