2016-07-27 6 views
1

В конечном счете, я пытаюсь установить CVXPY для Python 2.7. CVXPY имеет несколько требований, включая CVXOPT. Я пробовал два подхода, установив с сайта Gohlke, где он размещает бинарные файлы Windows для расширений Python: http://www.lfd.uci.edu/~gohlke/pythonlibs/ и сам из исходного источника.Как установить CVXOPT для Python 2.7 в Windows 10?

При использовании бинарных файлов, предоставляемых из 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/

При строительстве из источника Я следовал инструкциям с сайта и, когда в конечном итоге строил CVXOPT с python setup.py build --compiler=mingw32, я получил следующую ошибку:

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?

Я использую Python2.7 для Windows 10. Любые предложения или ясность по некоторым из этих вопросов были бы замечательными. Как я уже упоминал, просто пытаюсь заставить CVXPY работать, но, похоже, повесил трубку на CVXOPT. Благодаря!

UPDATE

я смог получить рабочую установку CVXOPT путем удаления текущей версии Numpy я имел и загрузку/установку NumPy-MKL WHL от http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy. Затем я установил CVXOPT и CVXPY с сайта. Наконец, удалось получить успешный импорт cvxpy без ошибки cvxopt.base DLL.

Все еще было бы интересно узнать о ошибке компиляции, которую я имел.

+0

Спасибо, что сэкономили мой день, используя колеса от gohlke. Все еще любопытно, почему версия numpy в anaconda не работает. – dofine

ответ

1

спасибо, что вы. Мои 2 цента на этом:

С Anaconda в Windows 7 я просто использовал omnia repo conda install -c omnia cvxopt. Похоже, он работает. Будет обновлен здесь, если он сломается.

Смежные вопросы