3

This is a borderline SuperUser question. I've been using pip install <x> to add packages to my 3.6.2 installation, from powershell on Windows 10. I'm struggling to install CVXPY. Specifically, I've already upgraded setuptools and installed visual studio c++ 14. Also, I installed C++ 2008 as suggested by a github user: https://github.com/embotech/ecos/issues/53. But, I couldn't implement her other suggestion (edit ecosmodules.c) because I dont think that file exists in the raw package I downloaded from github

Below is the traceback when I try to install a key dependency, eCos, via pip install ecos.

 Collecting ecos
  Using cached https://files.pythonhosted.org/packages/b6/b4/988b15513b13e8ea2eac65e97d84221ac515a735a93f046e2a2a3d7863fc/ecos-2.0.5.tar.gz
Requirement already satisfied: numpy>=1.6 in c:\python36\lib\site-packages (from ecos) (1.14.2)
Requirement already satisfied: scipy>=0.9 in c:\python36\lib\site-packages (from ecos) (1.1.0)
Building wheels for collected packages: ecos
  Running setup.py bdist_wheel for ecos ... error
  Complete output from command c:\python36\python3.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\tpittman\\AppData\\Local\\Temp\\pip-install-6n1cuqcw\\ecos\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d C:\Users\tpittman\AppData\Local\Temp\pip-wheel-cz4uosgf --python-tag cp36:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-3.6
  copying src\ecos.py -> build\lib.win-amd64-3.6
  running build_ext
  building '_ecos' extension
  creating build\temp.win-amd64-3.6
  creating build\temp.win-amd64-3.6\Release
  creating build\temp.win-amd64-3.6\Release\src
  creating build\temp.win-amd64-3.6\Release\ecos
  creating build\temp.win-amd64-3.6\Release\ecos\external
  creating build\temp.win-amd64-3.6\Release\ecos\external\ldl
  creating build\temp.win-amd64-3.6\Release\ecos\external\ldl\src
  creating build\temp.win-amd64-3.6\Release\ecos\src
  creating build\temp.win-amd64-3.6\Release\ecos\external\amd
  creating build\temp.win-amd64-3.6\Release\ecos\external\amd\src
  creating build\temp.win-amd64-3.6\Release\ecos\ecos_bb
  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX64\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MT -DPYTHON -DDLONG -DLDL_LONG -DCTRLC=1 -Iecos/include -Ic:\python36\lib\site-packages\numpy\core\include -Iecos/external/amd/include -Iecos/external/ldl/include -Iecos/external/SuiteSparse_config -Ic:\python36\include -Ic:\python36\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\Include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\ATLMFC\Include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" /Tcsrc/ecosmodule.c /Fobuild\temp.win-amd64-3.6\Release\src/ecosmodule.obj
  ecosmodule.c
  ecos/include\ecos_bb.h(72): warning C4005: 'INFINITY': macro redefinition
  C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt\corecrt_math.h(90): note: see previous definition of 'INFINITY'
  ecos/include\ecos_bb.h(74): warning C4005: 'isinf': macro redefinition
  C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt\corecrt_math.h(275): note: see previous definition of 'isinf'
  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX64\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MT -DPYTHON -DDLONG -DLDL_LONG -DCTRLC=1 -Iecos/include -Ic:\python36\lib\site-packages\numpy\core\include -Iecos/external/amd/include -Iecos/external/ldl/include -Iecos/external/SuiteSparse_config -Ic:\python36\include -Ic:\python36\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\Include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\ATLMFC\Include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" /Tcecos/external/ldl/src/ldl.c /Fobuild\temp.win-amd64-3.6\Release\ecos/external/ldl/src/ldl.obj
  ldl.c
  C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt\corecrt_math.h(90): warning C4005: 'INFINITY': macro redefinition
  ecos/external/SuiteSparse_config\../../include/glblopts.h(58): note: see previous definition of 'INFINITY'
  C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt\corecrt_math.h(94): warning C4005: 'NAN': macro redefinition
  ecos/external/SuiteSparse_config\../../include/glblopts.h(53): note: see previous definition of 'NAN'
  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX64\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MT -DPYTHON -DDLONG -DLDL_LONG -DCTRLC=1 -Iecos/include -Ic:\python36\lib\site-packages\numpy\core\include -Iecos/external/amd/include -Iecos/external/ldl/include -Iecos/external/SuiteSparse_config -Ic:\python36\include -Ic:\python36\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\Include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\ATLMFC\Include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" /Tcecos/src/cone.c /Fobuild\temp.win-amd64-3.6\Release\ecos/src/cone.obj
  cone.c
  C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt\corecrt_math.h(90): warning C4005: 'INFINITY': macro redefinition
  c:\users\tpittman\appdata\local\temp\pip-install-6n1cuqcw\ecos\ecos\include\glblopts.h(58): note: see previous definition of 'INFINITY'
  C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt\corecrt_math.h(94): warning C4005: 'NAN': macro redefinition
  c:\users\tpittman\appdata\local\temp\pip-install-6n1cuqcw\ecos\ecos\include\glblopts.h(53): note: see previous definition of 'NAN'
  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX64\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MT -DPYTHON -DDLONG -DLDL_LONG -DCTRLC=1 -Iecos/include -Ic:\python36\lib\site-packages\numpy\core\include -Iecos/external/amd/include -Iecos/external/ldl/include -Iecos/external/SuiteSparse_config -Ic:\python36\include -Ic:\python36\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\Include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\ATLMFC\Include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" /Tcecos/src/ctrlc.c /Fobuild\temp.win-amd64-3.6\Release\ecos/src/ctrlc.obj
  ctrlc.c
  C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt\corecrt_math.h(90): warning C4005: 'INFINITY': macro redefinition
  c:\users\tpittman\appdata\local\temp\pip-install-6n1cuqcw\ecos\ecos\include\glblopts.h(58): note: see previous definition of 'INFINITY'
  C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt\corecrt_math.h(94): warning C4005: 'NAN': macro redefinition
  c:\users\tpittman\appdata\local\temp\pip-install-6n1cuqcw\ecos\ecos\include\glblopts.h(53): note: see previous definition of 'NAN'
  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX64\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MT -DPYTHON -DDLONG -DLDL_LONG -DCTRLC=1 -Iecos/include -Ic:\python36\lib\site-packages\numpy\core\include -Iecos/external/amd/include -Iecos/external/ldl/include -Iecos/external/SuiteSparse_config -Ic:\python36\include -Ic:\python36\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\Include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\ATLMFC\Include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" /Tcecos/src/ecos.c /Fobuild\temp.win-amd64-3.6\Release\ecos/src/ecos.obj
  ecos.c
  C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt\corecrt_math.h(90): warning C4005: 'INFINITY': macro redefinition
  c:\users\tpittman\appdata\local\temp\pip-install-6n1cuqcw\ecos\ecos\include\glblopts.h(58): note: see previous definition of 'INFINITY'
  C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt\corecrt_math.h(94): warning C4005: 'NAN': macro redefinition
  c:\users\tpittman\appdata\local\temp\pip-install-6n1cuqcw\ecos\ecos\include\glblopts.h(53): note: see previous definition of 'NAN'
  ecos/src/ecos.c(1093): warning C4013: '_set_output_format' undefined; assuming extern returning int
  ecos/src/ecos.c(1093): error C2065: '_TWO_DIGIT_EXPONENT': undeclared identifier
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.14.26428\\bin\\HostX64\\x64\\cl.exe' failed with exit status 2

  ----------------------------------------
  Failed building wheel for ecos
  Running setup.py clean for ecos
Failed to build ecos
Installing collected packages: ecos
  Running setup.py install for ecos ... error
    Complete output from command c:\python36\python3.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\tpittman\\AppData\\Local\\Temp\\pip-install-6n1cuqcw\\ecos\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\tpittman\AppData\Local\Temp\pip-record-ngyh01oq\install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.6
    copying src\ecos.py -> build\lib.win-amd64-3.6
    running build_ext
    building '_ecos' extension
    creating build\temp.win-amd64-3.6
    creating build\temp.win-amd64-3.6\Release
    creating build\temp.win-amd64-3.6\Release\src
    creating build\temp.win-amd64-3.6\Release\ecos
    creating build\temp.win-amd64-3.6\Release\ecos\external
    creating build\temp.win-amd64-3.6\Release\ecos\external\ldl
    creating build\temp.win-amd64-3.6\Release\ecos\external\ldl\src
    creating build\temp.win-amd64-3.6\Release\ecos\src
    creating build\temp.win-amd64-3.6\Release\ecos\external\amd
    creating build\temp.win-amd64-3.6\Release\ecos\external\amd\src
    creating build\temp.win-amd64-3.6\Release\ecos\ecos_bb
    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX64\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MT -DPYTHON -DDLONG -DLDL_LONG -DCTRLC=1 -Iecos/include -Ic:\python36\lib\site-packages\numpy\core\include -Iecos/external/amd/include -Iecos/external/ldl/include -Iecos/external/SuiteSparse_config -Ic:\python36\include -Ic:\python36\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\Include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\ATLMFC\Include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" /Tcsrc/ecosmodule.c /Fobuild\temp.win-amd64-3.6\Release\src/ecosmodule.obj
    ecosmodule.c
    ecos/include\ecos_bb.h(72): warning C4005: 'INFINITY': macro redefinition
    C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt\corecrt_math.h(90): note: see previous definition of 'INFINITY'
    ecos/include\ecos_bb.h(74): warning C4005: 'isinf': macro redefinition
    C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt\corecrt_math.h(275): note: see previous definition of 'isinf'
    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX64\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MT -DPYTHON -DDLONG -DLDL_LONG -DCTRLC=1 -Iecos/include -Ic:\python36\lib\site-packages\numpy\core\include -Iecos/external/amd/include -Iecos/external/ldl/include -Iecos/external/SuiteSparse_config -Ic:\python36\include -Ic:\python36\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\Include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\ATLMFC\Include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" /Tcecos/external/ldl/src/ldl.c /Fobuild\temp.win-amd64-3.6\Release\ecos/external/ldl/src/ldl.obj
    ldl.c
    C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt\corecrt_math.h(90): warning C4005: 'INFINITY': macro redefinition
    ecos/external/SuiteSparse_config\../../include/glblopts.h(58): note: see previous definition of 'INFINITY'
    C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt\corecrt_math.h(94): warning C4005: 'NAN': macro redefinition
    ecos/external/SuiteSparse_config\../../include/glblopts.h(53): note: see previous definition of 'NAN'
    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX64\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MT -DPYTHON -DDLONG -DLDL_LONG -DCTRLC=1 -Iecos/include -Ic:\python36\lib\site-packages\numpy\core\include -Iecos/external/amd/include -Iecos/external/ldl/include -Iecos/external/SuiteSparse_config -Ic:\python36\include -Ic:\python36\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\Include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\ATLMFC\Include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" /Tcecos/src/cone.c /Fobuild\temp.win-amd64-3.6\Release\ecos/src/cone.obj
    cone.c
    C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt\corecrt_math.h(90): warning C4005: 'INFINITY': macro redefinition
    c:\users\tpittman\appdata\local\temp\pip-install-6n1cuqcw\ecos\ecos\include\glblopts.h(58): note: see previous definition of 'INFINITY'
    C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt\corecrt_math.h(94): warning C4005: 'NAN': macro redefinition
    c:\users\tpittman\appdata\local\temp\pip-install-6n1cuqcw\ecos\ecos\include\glblopts.h(53): note: see previous definition of 'NAN'
    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX64\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MT -DPYTHON -DDLONG -DLDL_LONG -DCTRLC=1 -Iecos/include -Ic:\python36\lib\site-packages\numpy\core\include -Iecos/external/amd/include -Iecos/external/ldl/include -Iecos/external/SuiteSparse_config -Ic:\python36\include -Ic:\python36\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\Include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\ATLMFC\Include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" /Tcecos/src/ctrlc.c /Fobuild\temp.win-amd64-3.6\Release\ecos/src/ctrlc.obj
    ctrlc.c
    C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt\corecrt_math.h(90): warning C4005: 'INFINITY': macro redefinition
    c:\users\tpittman\appdata\local\temp\pip-install-6n1cuqcw\ecos\ecos\include\glblopts.h(58): note: see previous definition of 'INFINITY'
    C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt\corecrt_math.h(94): warning C4005: 'NAN': macro redefinition
    c:\users\tpittman\appdata\local\temp\pip-install-6n1cuqcw\ecos\ecos\include\glblopts.h(53): note: see previous definition of 'NAN'
    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX64\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MT -DPYTHON -DDLONG -DLDL_LONG -DCTRLC=1 -Iecos/include -Ic:\python36\lib\site-packages\numpy\core\include -Iecos/external/amd/include -Iecos/external/ldl/include -Iecos/external/SuiteSparse_config -Ic:\python36\include -Ic:\python36\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\Include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\ATLMFC\Include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" /Tcecos/src/ecos.c /Fobuild\temp.win-amd64-3.6\Release\ecos/src/ecos.obj
    ecos.c
    C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt\corecrt_math.h(90): warning C4005: 'INFINITY': macro redefinition
    c:\users\tpittman\appdata\local\temp\pip-install-6n1cuqcw\ecos\ecos\include\glblopts.h(58): note: see previous definition of 'INFINITY'
    C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt\corecrt_math.h(94): warning C4005: 'NAN': macro redefinition
    c:\users\tpittman\appdata\local\temp\pip-install-6n1cuqcw\ecos\ecos\include\glblopts.h(53): note: see previous definition of 'NAN'
    ecos/src/ecos.c(1093): warning C4013: '_set_output_format' undefined; assuming extern returning int
    ecos/src/ecos.c(1093): error C2065: '_TWO_DIGIT_EXPONENT': undeclared identifier
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.14.26428\\bin\\HostX64\\x64\\cl.exe' failed with exit status 2

    ----------------------------------------
Command "c:\python36\python3.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\tpittman\\AppData\\Local\\Temp\\pip-install-6n1cuqcw\\ecos\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\tpittman\AppData\Local\Temp\pip-record-ngyh01oq\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\tpittman\AppData\Local\Temp\pip-install-6n1cuqcw\ecos\
3pitt
  • 899
  • 13
  • 21
  • Which version did you grab from github? Can't you use anaconda/miniconda? Do you need ecos (the solver)? – sascha May 29 '18 at 20:05
  • I could try anaconda, you're right. Yes, I need ecos (because cvxpy needs it). i just downloaded the zip from this link: https://github.com/embotech/ecos – 3pitt May 29 '18 at 20:08
  • ecos is a requirement because it's an open-source conic-solver. If you will use gurobi, fico or whatever other solver and not ecos, you can remove it manually from it's dependencies. In regards to the version, i asked because of [this (somewhat more recent) patch](https://github.com/embotech/ecos/pull/122). Maybe it's time for VS2015 again. But to be honest: anaconda should be pain-free. – sascha May 29 '18 at 20:10
  • that makes sense. can you provide a link or basic instructions for how to install cvxpy with custom dependencies? – 3pitt May 29 '18 at 20:16
  • The only step to do is to remove ecos from [setup.py](https://github.com/cvxgrp/cvxpy/blob/master/setup.py). But this also means: install from git/release (e.g. ```python setup.py install```), potentially leading to other problems. While this did work for me in the past, i can't recommend doing anything non-anaconda. It's also the official install. – sascha May 29 '18 at 20:26
  • right, thank you.. do you have a sense of how risky that approach would be? conflicting with all my other packages installed from pip, namely. – 3pitt May 30 '18 at 14:48
  • You are right in being sceptic and i only recommend that if you know what you are doing. ecos is not needed for what cvxpy provides and this solver is only used as black-box (everything else is custom-code + numpy + scipy and some small tools). But if there would be some external project, having cvxpy as dependency, it's possible, that it assumes ecos is being there (definitely a design-decision). – sascha May 30 '18 at 15:24

3 Answers3

4

On an Anaconda based Win64 Python36 installation a

conda install ecos

worked for me.

Which than allowed a pip install cvxpy.

Klamer Schutte
  • 1,063
  • 9
  • 18
1

I think the best "solution" is to use the windows linux subsystem. from here, I was able to install cvxpy and all dependencies on python 3.5 with python3 -m pip install cmake and python3 -m pip install cvxpy

For those who haven't installed the WLS, it's not trivial but relatively painless. https://learn.microsoft.com/en-us/windows/wsl/install-win10

3pitt
  • 899
  • 13
  • 21
0

If you are using I recommend to install all the packets of development of C++ in visual Studio .For me works downloading the newest build tools from.

check C++/CLI support in the details section. After rebooting, I could run pip install cvxpy without errors.

yudhiesh
  • 6,383
  • 3
  • 16
  • 49
johanv26
  • 1
  • 1