2016-07-27 161 views
1

最終我試圖爲Python 2.7安裝CVXPY。 CVXPY有一些要求,包括CVXOPT。我已經嘗試了兩種方法,從Gohlke的網站安裝,在那裏他主持了Python擴展的Windows二進制文件:http://www.lfd.uci.edu/~gohlke/pythonlibs/並從源代碼自己構建。如何在Windows 10上安裝Python 2.7的CVXOPT?

當使用從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 

我對此做了一些研究,並且error: storage size of 't' isn't known但我無法確定它是CVXOPT的故障還是Windows?

我在Windows 10上使用Python2.7。任何關於這些問題的建議或清晰度都會很好。就像我剛纔提到的,只是試圖讓CVXPY工作,但似乎掛在了CVXOPT上。謝謝!

UPDATE

我可以通過卸載當前版本numpy的我只好和下載/從http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy安裝numpy的-MKL WHL得到CVXOPT的工作安裝。然後,我從該站點安裝了CVXOPT和CVXPY。最後能夠在沒有cvxopt.base DLL錯誤的情況下成功導入cvxpy。

仍然會好奇我正在編譯的錯誤。

+0

感謝您使用gohlke的輪子來節省我的一天。仍然好奇爲什麼在anaconda的numpy版本不起作用。 – dofine

回答

1

謝謝你。我在這2美分:

與Windows 7上的Anaconda我剛剛使用omnia回購conda install -c omnia cvxopt。它看起來像在工作。如果中斷,將在此更新。