2016-07-27 22 views
1

Letztendlich versuche ich CVXPY für Python 2.7 zu installieren. CVXPY hat einige Anforderungen einschließlich CVXOPT. Ich habe zwei Ansätze ausprobiert, indem ich auf der Gohlke-Website installiert habe, wo er Windows-Binärdateien für Python-Erweiterungen hostet: http://www.lfd.uci.edu/~gohlke/pythonlibs/ und ich selbst aus der Quelle baue.Wie installiere ich CVXOPT für Python 2.7 unter Windows 10?

Wenn die Binärdateien mit von Gohlke zur Verfügung gestellt, ich die folgende Fehlermeldung erhalten, wenn sie in Python zu importieren versuchen:

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. 

ich überprüft haben, dass die base.pyd Datei in cvxopt/

vorhanden ist, wenn die Sourcen ich folgte den Anweisungen von der Website und wenn schließlich CVXOPT mit python setup.py build --compiler=mingw32 Aufbau bekam ich folgende Fehlermeldung:

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 

Ich habe einige Nachforschungen in diesem und error: storage size of 't' isn't known, aber ich kann nicht feststellen, ob es CVXOPT Fehler oder Windows ist?

Ich benutze Python2.7 auf Windows 10. Irgendwelche Vorschläge oder Klarheit zu einigen dieser Probleme wäre großartig. Wie ich bereits erwähnt habe, nur um CVXPY zum Laufen zu bringen, scheint aber auf CVXOPT aufgelegt zu sein. Vielen Dank!

UPDATE

konnte ich eine funktionierende Installation von CVXOPT erhalten, indem Sie die aktuelle Version zu deinstallieren numpy ich hatte und Download/Installation des numpy-mkl whl von http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy. Ich habe dann auch CVXOPT und CVXPY von der Seite installiert. Endlich war es möglich, ein cvxpy-Import erfolgreich ohne den cvxopt.base DLL-Fehler zu erhalten.

Ich wäre immer noch neugierig auf den Kompilierungsfehler, den ich hatte.

+0

Danke für die Rettung meines Tages mit Rädern von Gohlke. Immer noch neugierig, warum die numpige Version in Anaconda nicht funktioniert. – dofine

Antwort

1

ich danke Ihnen dafür. Meine 2 Cent dazu:

Mit Anaconda auf Windows 7 habe ich nur das Omnia Repo conda install -c omnia cvxopt verwendet. Es sieht so aus, als ob es funktioniert. Wird hier aktualisiert, wenn es kaputt geht.