robertmartin8 / PyPortfolioOpt

Financial portfolio optimisation in python, including classical efficient frontier, Black-Litterman, Hierarchical Risk Parity
https://pyportfolioopt.readthedocs.io/
MIT License
4.38k stars 940 forks source link

Could not install on Windows PyCharm #396

Closed armanmuslimov closed 2 years ago

armanmuslimov commented 2 years ago

Operating system, environment, python version Windows, PyCharm, python3.10

What you tried pip install pyportfolioopt

Error message Microsoft Windows [Version 10.0.19043.1348] (c) Microsoft Corporation. All rights reserved.

C:\Users\Arman>c:\python_3.10\scripts\pip install pyportfolioopt Collecting pyportfolioopt Using cached PyPortfolioOpt-1.5.1-py3-none-any.whl (61 kB) Requirement already satisfied: pandas>=0.19 in c:\python_3.10\lib\site-packages (from pyportfolioopt) (1.3.4) Collecting cvxpy<2.0.0,>=1.1.10 Using cached cvxpy-1.1.17-cp310-cp310-win_amd64.whl Requirement already satisfied: scipy<2.0,>=1.3 in c:\python_3.10\lib\site-packages (from pyportfolioopt) (1.7.3) Requirement already satisfied: numpy<2.0,>=1.12 in c:\python_3.10\lib\site-packages (from pyportfolioopt) (1.21.4) Collecting ecos>=2 Using cached ecos-2.0.7.post1.tar.gz (126 kB) Preparing metadata (setup.py) ... done Requirement already satisfied: scs>=1.1.6 in c:\python_3.10\lib\site-packages (from cvxpy<2.0.0,>=1.1.10->pyportfolioopt) (2.1.4) Collecting osqp>=0.4.1 Using cached osqp-0.6.2.post0.tar.gz (219 kB) Installing build dependencies ... done Getting requirements to build wheel ... done Installing backend dependencies ... error ERROR: Command errored out with exit status 1: command: 'C:\Python_3.10\python.exe' 'C:\Users\Arman\AppData\Local\Temp\pip-standalone-pip-25b00hvm__env_pip.zip\pip' install --ignore-installed --no-user --prefix 'C:\Users\Arman\AppData\Local\Temp\pip-build-env-gnrm4s_d\normal' --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- qdldl cwd: None Complete output (47 lines): Collecting qdldl Using cached qdldl-0.1.5.post0.tar.gz (69 kB) Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting numpy>=1.7 Using cached numpy-1.21.4-cp310-cp310-win_amd64.whl (14.0 MB) Collecting scipy>=0.13.2 Using cached scipy-1.7.3-cp310-cp310-win_amd64.whl (34.3 MB) Using legacy 'setup.py install' for qdldl, since package 'wheel' is not installed. Installing collected packages: numpy, scipy, qdldl Running setup.py install for qdldl: started Running setup.py install for qdldl: finished with status 'error' ERROR: Command errored out with exit status 1: command: 'C:\Python_3.10\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\Arman\AppData\Local\Temp\pip-install-5_1jqo1n\qdldl_6c25bff24ef34148b3a9aae2c0cabd84\setup.py'"'"'; file='"'"'C:\Users\Arman\AppData\Local\Temp\pip-install-5_1jqo1n\qdldl_6c25bff24ef34148b3a9aae2c0cabd84\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file__, '"'"'exec'"'"'))' install --record 'C:\Users\Arman\AppData\Local\Temp\pip-record-av3qwi6b\install-record.txt' --single-version-externally-managed --prefix 'C:\Users\Arman\AppData\Local\Temp\pip-build-env-gnrm4s_d\normal' --compile --install-headers 'C:\Users\Arman\AppData\Local\Temp\pip-build-env-gnrm4s_d\normal\Include\qdldl' cwd: C:\Users\Arman\AppData\Local\Temp\pip-install-5_1jqo1n\qdldl_6c25bff24ef34148b3a9aae2c0cabd84\ Complete output (29 lines): running install running build running build_ext -- Selecting Windows SDK version to target Windows 10.0.19043. CMake Error at CMakeLists.txt:4 (project): Failed to run MSBuild command:

      MSBuild.exe

    to get the value of VCTargetsPath:

      The system cannot find the file specified

  -- Configuring incomplete, errors occurred!
  See also "C:/Users/Arman/AppData/Local/Temp/pip-install-5_1jqo1n/qdldl_6c25bff24ef34148b3a9aae2c0cabd84/c/build/CMakeFiles/CMakeOutput.log".
  The system cannot find the file specified
  CMake Error: Generator: execution of make failed. Make command was: MSBuild.exe qdldlamd.vcxproj /p:Configuration=Release /p:Platform=x64 /p:VisualStudioVersion=14.0 /v:m &&
  building 'qdldl' extension
  creating build
  creating build\temp.win-amd64-3.10
  creating build\temp.win-amd64-3.10\Release
  creating build\temp.win-amd64-3.10\Release\cpp
  C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ic -Ic\qdldl\include -IC:\Python_3.10\lib\site-packages\pybind11\include -IC:\Python_3.10\lib\site-packages\pybind11\include -IC:\Python_3.10\include -IC:\Python_3.10\Include -IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\include -IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt /EHsc /Tpcpp\qdldl.cpp /Fobuild\temp.win-amd64-3.10\Release\cpp\qdldl.obj -std=c++11
  cl : Command line warning D9002 : ignoring unknown option '-std=c++11'
  qdldl.cpp
  c\qdldl/include/qdldl.h(5): fatal error C1083: Cannot open include file: 'qdldl_types.h': No such file or directory
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
  ----------------------------------------

ERROR: Command errored out with exit status 1: 'C:\Python_3.10\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\Arman\AppData\Local\Temp\pip-install-5_1jqo1n\qdldl_6c25bff24ef34148b3a9aae2c0cabd84\setup.py'"'"'; file='"'"'C:\Users\Arman\AppData\Local\Temp\pip-install-5_1jqo1n\qdldl_6c25bff24ef34148b3a9aae2c0cabd84\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\Arman\AppData\Local\Temp\pip-record-av3qwi6b\install-record.txt' --single-version-externally-managed --prefix 'C:\Users\Arman\AppData\Local\Temp\pip-build-env-gnrm4s_d\normal' --compile --install-headers 'C:\Users\Arman\AppData\Local\Temp\pip-build-env-gnrm4s_d\normal\Include\qdldl' Check the logs for full command output.

WARNING: Discarding https://files.pythonhosted.org/packages/c0/90/4cf48c200a89e46bcad87e12469ee36fc03d0c3f16b703b747e8c4bf618e/osqp-0.6.2.post0.tar.gz#sha256=5f0695f26a3bef0fae91254bc283fab790dcca0064bfe0f425167f9c9e8b4cbc (from https://pypi.org/simple/osqp/). Command errored out with exit status 1: 'C:\Python_3.10\python.exe' 'C:\Users\Arman\AppData\Local\Temp\pip-standalone-pip-25b00hvm__env_pip.zip\pip' install --ignore-installed --no-user --prefix 'C:\Users\Arman\AppData\Local\Temp\pip-build-env-gnrm4s_d\normal' --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- qdldl Check the logs for full command output. Using cached osqp-0.6.2.tar.gz (219 kB) Installing build dependencies ... done Getting requirements to build wheel ... done Installing backend dependencies ... error ERROR: Command errored out with exit status 1: command: 'C:\Python_3.10\python.exe' 'C:\Users\Arman\AppData\Local\Temp\pip-standalone-pip-o7mhvzis__env_pip.zip\pip' install --ignore-installed --no-user --prefix 'C:\Users\Arman\AppData\Local\Temp\pip-build-env-irn5mzjp\normal' --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- qdldl cwd: None Complete output (47 lines): Collecting qdldl Using cached qdldl-0.1.5.post0.tar.gz (69 kB) Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting numpy>=1.7 Using cached numpy-1.21.4-cp310-cp310-win_amd64.whl (14.0 MB) Collecting scipy>=0.13.2 Using cached scipy-1.7.3-cp310-cp310-win_amd64.whl (34.3 MB) Using legacy 'setup.py install' for qdldl, since package 'wheel' is not installed. Installing collected packages: numpy, scipy, qdldl Running setup.py install for qdldl: started Running setup.py install for qdldl: finished with status 'error' ERROR: Command errored out with exit status 1: command: 'C:\Python_3.10\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\Arman\AppData\Local\Temp\pip-install-4905x076\qdldl_e87e366463d6498ea60fda5771850f12\setup.py'"'"'; file='"'"'C:\Users\Arman\AppData\Local\Temp\pip-install-4905x076\qdldl_e87e366463d6498ea60fda5771850f12\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\Arman\AppData\Local\Temp\pip-record-75eq93sv\install-record.txt' --single-version-externally-managed --prefix 'C:\Users\Arman\AppData\Local\Temp\pip-build-env-irn5mzjp\normal' --compile --install-headers 'C:\Users\Arman\AppData\Local\Temp\pip-build-env-irn5mzjp\normal\Include\qdldl' cwd: C:\Users\Arman\AppData\Local\Temp\pip-install-4905x076\qdldl_e87e366463d6498ea60fda5771850f12\ Complete output (29 lines): running install running build running build_ext -- Selecting Windows SDK version to target Windows 10.0.19043. CMake Error at CMakeLists.txt:4 (project): Failed to run MSBuild command:

      MSBuild.exe

    to get the value of VCTargetsPath:

      The system cannot find the file specified

  -- Configuring incomplete, errors occurred!
  See also "C:/Users/Arman/AppData/Local/Temp/pip-install-4905x076/qdldl_e87e366463d6498ea60fda5771850f12/c/build/CMakeFiles/CMakeOutput.log".
  The system cannot find the file specified
  CMake Error: Generator: execution of make failed. Make command was: MSBuild.exe qdldlamd.vcxproj /p:Configuration=Release /p:Platform=x64 /p:VisualStudioVersion=14.0 /v:m &&
  building 'qdldl' extension
  creating build
  creating build\temp.win-amd64-3.10
  creating build\temp.win-amd64-3.10\Release
  creating build\temp.win-amd64-3.10\Release\cpp
  C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ic -Ic\qdldl\include -IC:\Python_3.10\lib\site-packages\pybind11\include -IC:\Python_3.10\lib\site-packages\pybind11\include -IC:\Python_3.10\include -IC:\Python_3.10\Include -IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\include -IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt /EHsc /Tpcpp\qdldl.cpp /Fobuild\temp.win-amd64-3.10\Release\cpp\qdldl.obj -std=c++11
  cl : Command line warning D9002 : ignoring unknown option '-std=c++11'
  qdldl.cpp
  c\qdldl/include/qdldl.h(5): fatal error C1083: Cannot open include file: 'qdldl_types.h': No such file or directory
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
  ----------------------------------------

ERROR: Command errored out with exit status 1: 'C:\Python_3.10\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\Arman\AppData\Local\Temp\pip-install-4905x076\qdldl_e87e366463d6498ea60fda5771850f12\setup.py'"'"'; file='"'"'C:\Users\Arman\AppData\Local\Temp\pip-install-4905x076\qdldl_e87e366463d6498ea60fda5771850f12\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\Arman\AppData\Local\Temp\pip-record-75eq93sv\install-record.txt' --single-version-externally-managed --prefix 'C:\Users\Arman\AppData\Local\Temp\pip-build-env-irn5mzjp\normal' --compile --install-headers 'C:\Users\Arman\AppData\Local\Temp\pip-build-env-irn5mzjp\normal\Include\qdldl' Check the logs for full command output.

WARNING: Discarding https://files.pythonhosted.org/packages/7a/b8/291caf5b448de7b35969b71df83b0733c853656b0304516f6fea8f1c9f78/osqp-0.6.2.tar.gz#sha256=262162039f6ad6c9ffee658541b18cfae8240b65edbde71d9b9e3af42fbfe4b3 (from https://pypi.org/simple/osqp/). Command errored out with exit status 1: 'C:\Python_3.10\python.exe' 'C:\Users\Arman\AppData\Local\Temp\pip-standalone-pip-o7mhvzis__env_pip.zip\pip' install --ignore-installed --no-user --prefix 'C:\Users\Arman\AppData\Local\Temp\pip-build-env-irn5mzjp\normal' --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- qdldl Check the logs for full command output. Using cached osqp-0.6.1.tar.gz (211 kB) Preparing metadata (setup.py) ... done Requirement already satisfied: pytz>=2017.3 in c:\python_3.10\lib\site-packages (from pandas>=0.19->pyportfolioopt) (2021.3) Requirement already satisfied: python-dateutil>=2.7.3 in c:\python_3.10\lib\site-packages (from pandas>=0.19->pyportfolioopt) (2.8.2) Requirement already satisfied: future in c:\python_3.10\lib\site-packages (from osqp>=0.4.1->cvxpy<2.0.0,>=1.1.10->pyportfolioopt) (0.18.2) Requirement already satisfied: six>=1.5 in c:\python_3.10\lib\site-packages (from python-dateutil>=2.7.3->pandas>=0.19->pyportfolioopt) (1.16.0) Using legacy 'setup.py install' for ecos, since package 'wheel' is not installed. Using legacy 'setup.py install' for osqp, since package 'wheel' is not installed. Installing collected packages: osqp, ecos, cvxpy, pyportfolioopt Running setup.py install for osqp ... error ERROR: Command errored out with exit status 1: command: 'C:\Python_3.10\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\Arman\AppData\Local\Temp\pip-install-wf8cp5l9\osqp_9a4b69ea5cfb4873860cf059ea939710\setup.py'"'"'; file='"'"'C:\Users\Arman\AppData\Local\Temp\pip-install-wf8cp5l9\osqp_9a4b69ea5cfb4873860cf059ea939710\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\Arman\AppData\Local\Temp\pip-record-1msm8h9r\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Python_3.10\Include\osqp' cwd: C:\Users\Arman\AppData\Local\Temp\pip-install-wf8cp5l9\osqp_9a4b69ea5cfb4873860cf059ea939710\ Complete output (94 lines): running install running build running build_py creating build creating build\lib.win-amd64-3.10 creating build\lib.win-amd64-3.10\osqp copying module\interface.py -> build\lib.win-amd64-3.10\osqp copying module\utils.py -> build\lib.win-amd64-3.10\osqp copying module__init__.py -> build\lib.win-amd64-3.10\osqp creating build\lib.win-amd64-3.10\osqp\codegen copying module\codegen\code_generator.py -> build\lib.win-amd64-3.10\osqp\codegen copying module\codegen\utils.py -> build\lib.win-amd64-3.10\osqp\codegen copying module\codegen__init.py -> build\lib.win-amd64-3.10\osqp\codegen creating build\lib.win-amd64-3.10\osqp\tests copying module\tests\basic_test.py -> build\lib.win-amd64-3.10\osqp\tests copying module\tests\codegen_matrices_test.py -> build\lib.win-amd64-3.10\osqp\tests copying module\tests\codegen_vectors_test.py -> build\lib.win-amd64-3.10\osqp\tests copying module\tests\dual_infeasibility_test.py -> build\lib.win-amd64-3.10\osqp\tests copying module\tests\feasibility_test.py -> build\lib.win-amd64-3.10\osqp\tests copying module\tests\mkl_pardiso_test.py -> build\lib.win-amd64-3.10\osqp\tests copying module\tests\non_convex_test.py -> build\lib.win-amd64-3.10\osqp\tests copying module\tests\polishing_test.py -> build\lib.win-amd64-3.10\osqp\tests copying module\tests\primal_infeasibility_test.py -> build\lib.win-amd64-3.10\osqp\tests copying module\tests\unconstrained_test.py -> build\lib.win-amd64-3.10\osqp\tests copying module\tests\update_matrices_test.py -> build\lib.win-amd64-3.10\osqp\tests copying module\tests\warm_start_test.py -> build\lib.win-amd64-3.10\osqp\tests copying module\tests\init__.py -> build\lib.win-amd64-3.10\osqp\tests creating build\lib.win-amd64-3.10\osqppurepy copying modulepurepy\interface.py -> build\lib.win-amd64-3.10\osqppurepy copying modulepurepy_osqp.py -> build\lib.win-amd64-3.10\osqppurepy copying modulepurepy\init__.py -> build\lib.win-amd64-3.10\osqppurepy running egg_info writing osqp.egg-info\PKG-INFO writing dependency_links to osqp.egg-info\dependency_links.txt writing requirements to osqp.egg-info\requires.txt writing top-level names to osqp.egg-info\top_level.txt reading manifest file 'osqp.egg-info\SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE' writing manifest file 'osqp.egg-info\SOURCES.txt' creating build\lib.win-amd64-3.10\osqp\codegen\files_to_generate copying module\codegen\files_to_generate\CMakeLists.txt -> build\lib.win-amd64-3.10\osqp\codegen\files_to_generate copying module\codegen\files_to_generate\emosqpmodule.c -> build\lib.win-amd64-3.10\osqp\codegen\files_to_generate copying module\codegen\files_to_generate\example.c -> build\lib.win-amd64-3.10\osqp\codegen\files_to_generate copying module\codegen\files_to_generate\setup.py -> build\lib.win-amd64-3.10\osqp\codegen\files_to_generate creating build\lib.win-amd64-3.10\osqp\codegen\sources creating build\lib.win-amd64-3.10\osqp\codegen\sources\configure copying module\codegen\sources\configure\osqp_configure.h.in -> build\lib.win-amd64-3.10\osqp\codegen\sources\configure copying module\codegen\sources\configure\qdldl_types.h.in -> build\lib.win-amd64-3.10\osqp\codegen\sources\configure creating build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\CMakeLists.txt -> build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\auxil.h -> build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\constants.h -> build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\error.h -> build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\glob_opts.h -> build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\kkt.h -> build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\lin_alg.h -> build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\osqp.h -> build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\proj.h -> build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\qdldl.h -> build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\qdldl_interface.h -> build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\scaling.h -> build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\types.h -> build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\util.h -> build\lib.win-amd64-3.10\osqp\codegen\sources\include creating build\lib.win-amd64-3.10\osqp\codegen\sources\src copying module\codegen\sources\src\CMakeLists.txt -> build\lib.win-amd64-3.10\osqp\codegen\sources\src copying module\codegen\sources\src\auxil.c -> build\lib.win-amd64-3.10\osqp\codegen\sources\src copying module\codegen\sources\src\error.c -> build\lib.win-amd64-3.10\osqp\codegen\sources\src copying module\codegen\sources\src\kkt.c -> build\lib.win-amd64-3.10\osqp\codegen\sources\src copying module\codegen\sources\src\lin_alg.c -> build\lib.win-amd64-3.10\osqp\codegen\sources\src copying module\codegen\sources\src\osqp.c -> build\lib.win-amd64-3.10\osqp\codegen\sources\src copying module\codegen\sources\src\proj.c -> build\lib.win-amd64-3.10\osqp\codegen\sources\src copying module\codegen\sources\src\qdldl.c -> build\lib.win-amd64-3.10\osqp\codegen\sources\src copying module\codegen\sources\src\qdldl_interface.c -> build\lib.win-amd64-3.10\osqp\codegen\sources\src copying module\codegen\sources\src\scaling.c -> build\lib.win-amd64-3.10\osqp\codegen\sources\src copying module\codegen\sources\src\util.c -> build\lib.win-amd64-3.10\osqp\codegen\sources\src running build_ext -- Selecting Windows SDK version to target Windows 10.0.19043. CMake Error at CMakeLists.txt:5 (project): Failed to run MSBuild command:

    MSBuild.exe

  to get the value of VCTargetsPath:

    The system cannot find the file specified

-- Configuring incomplete, errors occurred!
See also "C:/Users/Arman/AppData/Local/Temp/pip-install-wf8cp5l9/osqp_9a4b69ea5cfb4873860cf059ea939710/osqp_sources/build/CMakeFiles/CMakeOutput.log".
The system cannot find the file specified
CMake Error: Generator: execution of make failed. Make command was: MSBuild.exe osqpstatic.vcxproj /p:Configuration=Release /p:Platform=x64 /p:VisualStudioVersion=14.0 /v:m &&
error: [Errno 2] No such file or directory: 'osqp_sources\\build\\out\\Release\\osqp.lib'
----------------------------------------

ERROR: Command errored out with exit status 1: 'C:\Python_3.10\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\Arman\AppData\Local\Temp\pip-install-wf8cp5l9\osqp_9a4b69ea5cfb4873860cf059ea939710\setup.py'"'"'; file='"'"'C:\Users\Arman\AppData\Local\Temp\pip-install-wf8cp5l9\osqp_9a4b69ea5cfb4873860cf059ea939710\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\Arman\AppData\Local\Temp\pip-record-1msm8h9r\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Python_3.10\Include\osqp' Check the logs for full command output.

robertmartin8 commented 2 years ago

Have you installed C++?

Could you try ‘pip install cvxpy’

armanmuslimov commented 2 years ago

1) I've installed C++ as a part of Visual Studio Build tools as shown in the instruction image

For here: https://docs.google.com/presentation/d/0B4GsMXCRaSSIOWpYQkstajlYZ0tPVkNQSElmTWh1dXFaYkJr/edit?resourcekey=0-HEezB2NFstz1GjKDkroJSQ#slide=id.p2

Is it enough?

2) I've just tried ‘pip install cvxpy’ and it gives a similar error:


WARNING: Discarding https://files.pythonhosted.org/packages/c0/90/4cf48c200a89e46bcad87e12469ee36fc03d0c3f16b703b747e8c4bf618e/osqp-0.6.2.post0.tar.gz#sha256=5f0695f26a3bef0fae91254bc283fab790dcca0064bfe0f425167f9c9e8b4cbc (from https://pypi.org/simple/osqp/). Command errored out with exit status 1: 'C:\Python_3.10\python.exe' 'C:\Users\Arman\AppData\Local\Temp\pip-standalone-pip-gyt4bxpn__env_pip.zip\pip' install --ignore-installed --no-user --prefix 'C:\Users\Arman\AppData\Local\Temp\pip-build-env-6zr9d9rm\normal' --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- qdldl Check the logs for full command output. Using cached osqp-0.6.2.tar.gz (219 kB) Installing build dependencies ... done Getting requirements to build wheel ... done Installing backend dependencies ... error ERROR: Command errored out with exit status 1: command: 'C:\Python_3.10\python.exe' 'C:\Users\Arman\AppData\Local\Temp\pip-standalone-pip-p3w8ad4m__env_pip.zip\pip' install --ignore-installed --no-user --prefix 'C:\Users\Arman\AppData\Local\Temp\pip-build-env-p5n3ng7i\normal' --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- qdldl cwd: None Complete output (47 lines): Collecting qdldl Using cached qdldl-0.1.5.post0.tar.gz (69 kB) Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting numpy>=1.7 Using cached numpy-1.21.4-cp310-cp310-win_amd64.whl (14.0 MB) Collecting scipy>=0.13.2 Using cached scipy-1.7.3-cp310-cp310-win_amd64.whl (34.3 MB) Using legacy 'setup.py install' for qdldl, since package 'wheel' is not installed. Installing collected packages: numpy, scipy, qdldl Running setup.py install for qdldl: started Running setup.py install for qdldl: finished with status 'error' ERROR: Command errored out with exit status 1: command: 'C:\Python_3.10\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\Arman\AppData\Local\Temp\pip-install-68tujcoq\qdldl_edbc3a8aedbd4951b0a54c7a42b626fe\setup.py'"'"'; file='"'"'C:\Users\Arman\AppData\Local\Temp\pip-install-68tujcoq\qdldl_edbc3a8aedbd4951b0a54c7a42b626fe\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\Arman\AppData\Local\Temp\pip-record-pwjav7hw\install-record.txt' --single-version-externally-managed --prefix 'C:\Users\Arman\AppData\Local\Temp\pip-build-env-p5n3ng7i\normal' --compile --install-headers 'C:\Users\Arman\AppData\Local\Temp\pip-build-env-p5n3ng7i\normal\Include\qdldl' cwd: C:\Users\Arman\AppData\Local\Temp\pip-install-68tujcoq\qdldl_edbc3a8aedbd4951b0a54c7a42b626fe\ Complete output (29 lines): running install running build running build_ext -- Selecting Windows SDK version to target Windows 10.0.19043. CMake Error at CMakeLists.txt:4 (project): Failed to run MSBuild command:

      MSBuild.exe

    to get the value of VCTargetsPath:

      The system cannot find the file specified

  -- Configuring incomplete, errors occurred!
  See also "C:/Users/Arman/AppData/Local/Temp/pip-install-68tujcoq/qdldl_edbc3a8aedbd4951b0a54c7a42b626fe/c/build/CMakeFiles/CMakeOutput.log".
  The system cannot find the file specified
  CMake Error: Generator: execution of make failed. Make command was: MSBuild.exe qdldlamd.vcxproj /p:Configuration=Release /p:Platform=x64 /p:VisualStudioVersion=14.0 /v:m &&
  building 'qdldl' extension
  creating build
  creating build\temp.win-amd64-3.10
  creating build\temp.win-amd64-3.10\Release
  creating build\temp.win-amd64-3.10\Release\cpp
  C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ic -Ic\qdldl\include -IC:\Python_3.10\lib\site-packages\pybind11\include -IC:\Python_3.10\lib\site-packages\pybind11\include -IC:\Python_3.10\include -IC:\Python_3.10\Include -IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\include -IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt /EHsc /Tpcpp\qdldl.cpp /Fobuild\temp.win-amd64-3.10\Release\cpp\qdldl.obj -std=c++11
  cl : Command line warning D9002 : ignoring unknown option '-std=c++11'
  qdldl.cpp
  c\qdldl/include/qdldl.h(5): fatal error C1083: Cannot open include file: 'qdldl_types.h': No such file or directory
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
  ----------------------------------------

ERROR: Command errored out with exit status 1: 'C:\Python_3.10\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\Arman\AppData\Local\Temp\pip-install-68tujcoq\qdldl_edbc3a8aedbd4951b0a54c7a42b626fe\setup.py'"'"'; file='"'"'C:\Users\Arman\AppData\Local\Temp\pip-install-68tujcoq\qdldl_edbc3a8aedbd4951b0a54c7a42b626fe\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\Arman\AppData\Local\Temp\pip-record-pwjav7hw\install-record.txt' --single-version-externally-managed --prefix 'C:\Users\Arman\AppData\Local\Temp\pip-build-env-p5n3ng7i\normal' --compile --install-headers 'C:\Users\Arman\AppData\Local\Temp\pip-build-env-p5n3ng7i\normal\Include\qdldl' Check the logs for full command output.

WARNING: Discarding https://files.pythonhosted.org/packages/7a/b8/291caf5b448de7b35969b71df83b0733c853656b0304516f6fea8f1c9f78/osqp-0.6.2.tar.gz#sha256=262162039f6ad6c9ffee658541b18cfae8240b65edbde71d9b9e3af42fbfe4b3 (from https://pypi.org/simple/osqp/). Command errored out with exit status 1: 'C:\Python_3.10\python.exe' 'C:\Users\Arman\AppData\Local\Temp\pip-standalone-pip-p3w8ad4m__env_pip.zip\pip' install --ignore-installed --no-user --prefix 'C:\Users\Arman\AppData\Local\Temp\pip-build-env-p5n3ng7i\normal' --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- qdldl Check the logs for full command output. Using cached osqp-0.6.1.tar.gz (211 kB) Preparing metadata (setup.py) ... done Requirement already satisfied: future in c:\python_3.10\lib\site-packages (from osqp>=0.4.1->cvxpy) (0.18.2) Using legacy 'setup.py install' for ecos, since package 'wheel' is not installed. Using legacy 'setup.py install' for osqp, since package 'wheel' is not installed. Installing collected packages: osqp, ecos, cvxpy Running setup.py install for osqp ... error ERROR: Command errored out with exit status 1: command: 'C:\Python_3.10\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\Arman\AppData\Local\Temp\pip-install-nfz9gt_9\osqp_fb671f5ec42246809a2287f0697c74e4\setup.py'"'"'; file='"'"'C:\Users\Arman\AppData\Local\Temp\pip-install-nfz9gt_9\osqp_fb671f5ec42246809a2287f0697c74e4\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\Arman\AppData\Local\Temp\pip-record-wdx0ben5\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Python_3.10\Include\osqp' cwd: C:\Users\Arman\AppData\Local\Temp\pip-install-nfz9gt_9\osqp_fb671f5ec42246809a2287f0697c74e4\ Complete output (94 lines): running install running build running build_py creating build creating build\lib.win-amd64-3.10 creating build\lib.win-amd64-3.10\osqp copying module\interface.py -> build\lib.win-amd64-3.10\osqp copying module\utils.py -> build\lib.win-amd64-3.10\osqp copying module__init__.py -> build\lib.win-amd64-3.10\osqp creating build\lib.win-amd64-3.10\osqp\codegen copying module\codegen\code_generator.py -> build\lib.win-amd64-3.10\osqp\codegen copying module\codegen\utils.py -> build\lib.win-amd64-3.10\osqp\codegen copying module\codegen__init.py -> build\lib.win-amd64-3.10\osqp\codegen creating build\lib.win-amd64-3.10\osqp\tests copying module\tests\basic_test.py -> build\lib.win-amd64-3.10\osqp\tests copying module\tests\codegen_matrices_test.py -> build\lib.win-amd64-3.10\osqp\tests copying module\tests\codegen_vectors_test.py -> build\lib.win-amd64-3.10\osqp\tests copying module\tests\dual_infeasibility_test.py -> build\lib.win-amd64-3.10\osqp\tests copying module\tests\feasibility_test.py -> build\lib.win-amd64-3.10\osqp\tests copying module\tests\mkl_pardiso_test.py -> build\lib.win-amd64-3.10\osqp\tests copying module\tests\non_convex_test.py -> build\lib.win-amd64-3.10\osqp\tests copying module\tests\polishing_test.py -> build\lib.win-amd64-3.10\osqp\tests copying module\tests\primal_infeasibility_test.py -> build\lib.win-amd64-3.10\osqp\tests copying module\tests\unconstrained_test.py -> build\lib.win-amd64-3.10\osqp\tests copying module\tests\update_matrices_test.py -> build\lib.win-amd64-3.10\osqp\tests copying module\tests\warm_start_test.py -> build\lib.win-amd64-3.10\osqp\tests copying module\tests\init__.py -> build\lib.win-amd64-3.10\osqp\tests creating build\lib.win-amd64-3.10\osqppurepy copying modulepurepy\interface.py -> build\lib.win-amd64-3.10\osqppurepy copying modulepurepy_osqp.py -> build\lib.win-amd64-3.10\osqppurepy copying modulepurepy\init__.py -> build\lib.win-amd64-3.10\osqppurepy running egg_info writing osqp.egg-info\PKG-INFO writing dependency_links to osqp.egg-info\dependency_links.txt writing requirements to osqp.egg-info\requires.txt writing top-level names to osqp.egg-info\top_level.txt reading manifest file 'osqp.egg-info\SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE' writing manifest file 'osqp.egg-info\SOURCES.txt' creating build\lib.win-amd64-3.10\osqp\codegen\files_to_generate copying module\codegen\files_to_generate\CMakeLists.txt -> build\lib.win-amd64-3.10\osqp\codegen\files_to_generate copying module\codegen\files_to_generate\emosqpmodule.c -> build\lib.win-amd64-3.10\osqp\codegen\files_to_generate copying module\codegen\files_to_generate\example.c -> build\lib.win-amd64-3.10\osqp\codegen\files_to_generate copying module\codegen\files_to_generate\setup.py -> build\lib.win-amd64-3.10\osqp\codegen\files_to_generate creating build\lib.win-amd64-3.10\osqp\codegen\sources creating build\lib.win-amd64-3.10\osqp\codegen\sources\configure copying module\codegen\sources\configure\osqp_configure.h.in -> build\lib.win-amd64-3.10\osqp\codegen\sources\configure copying module\codegen\sources\configure\qdldl_types.h.in -> build\lib.win-amd64-3.10\osqp\codegen\sources\configure creating build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\CMakeLists.txt -> build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\auxil.h -> build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\constants.h -> build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\error.h -> build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\glob_opts.h -> build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\kkt.h -> build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\lin_alg.h -> build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\osqp.h -> build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\proj.h -> build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\qdldl.h -> build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\qdldl_interface.h -> build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\scaling.h -> build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\types.h -> build\lib.win-amd64-3.10\osqp\codegen\sources\include copying module\codegen\sources\include\util.h -> build\lib.win-amd64-3.10\osqp\codegen\sources\include creating build\lib.win-amd64-3.10\osqp\codegen\sources\src copying module\codegen\sources\src\CMakeLists.txt -> build\lib.win-amd64-3.10\osqp\codegen\sources\src copying module\codegen\sources\src\auxil.c -> build\lib.win-amd64-3.10\osqp\codegen\sources\src copying module\codegen\sources\src\error.c -> build\lib.win-amd64-3.10\osqp\codegen\sources\src copying module\codegen\sources\src\kkt.c -> build\lib.win-amd64-3.10\osqp\codegen\sources\src copying module\codegen\sources\src\lin_alg.c -> build\lib.win-amd64-3.10\osqp\codegen\sources\src copying module\codegen\sources\src\osqp.c -> build\lib.win-amd64-3.10\osqp\codegen\sources\src copying module\codegen\sources\src\proj.c -> build\lib.win-amd64-3.10\osqp\codegen\sources\src copying module\codegen\sources\src\qdldl.c -> build\lib.win-amd64-3.10\osqp\codegen\sources\src copying module\codegen\sources\src\qdldl_interface.c -> build\lib.win-amd64-3.10\osqp\codegen\sources\src copying module\codegen\sources\src\scaling.c -> build\lib.win-amd64-3.10\osqp\codegen\sources\src copying module\codegen\sources\src\util.c -> build\lib.win-amd64-3.10\osqp\codegen\sources\src running build_ext -- Selecting Windows SDK version to target Windows 10.0.19043. CMake Error at CMakeLists.txt:5 (project): Failed to run MSBuild command:

    MSBuild.exe

  to get the value of VCTargetsPath:

    The system cannot find the file specified

-- Configuring incomplete, errors occurred!
See also "C:/Users/Arman/AppData/Local/Temp/pip-install-nfz9gt_9/osqp_fb671f5ec42246809a2287f0697c74e4/osqp_sources/build/CMakeFiles/CMakeOutput.log".
The system cannot find the file specified
CMake Error: Generator: execution of make failed. Make command was: MSBuild.exe osqpstatic.vcxproj /p:Configuration=Release /p:Platform=x64 /p:VisualStudioVersion=14.0 /v:m &&
error: [Errno 2] No such file or directory: 'osqp_sources\\build\\out\\Release\\osqp.lib'
----------------------------------------

ERROR: Command errored out with exit status 1: 'C:\Python_3.10\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\Arman\AppData\Local\Temp\pip-install-nfz9gt_9\osqp_fb671f5ec42246809a2287f0697c74e4\setup.py'"'"'; file='"'"'C:\Users\Arman\AppData\Local\Temp\pip-install-nfz9gt_9\osqp_fb671f5ec42246809a2287f0697c74e4\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\Arman\AppData\Local\Temp\pip-record-wdx0ben5\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Python_3.10\Include\osqp' Check the logs for full command output.

C:\Users\Arman>

armanmuslimov commented 2 years ago

Have you installed C++?

Could you try ‘pip install cvxpy’

Hi, please see my comment above

robertmartin8 commented 2 years ago

I wonder whether it’s a python 3.10 issue?

I’m not on windows so this is pretty hard for me to debug.

Cvxpy is a hard dependency of PyPortfolioOpt - it’d be worth searching through their issues.

Sorry I can’t be more helpful :/

robertmartin8 commented 2 years ago

It seems to be the MSbuild that is causing the problems. Perhaps this link might help?

https://stackoverflow.com/questions/44478492/cmake-failed-to-run-msbuild-command-msbuild-exe

armanmuslimov commented 2 years ago

It seems to be the MSbuild that is causing the problems. Perhaps this link might help?

https://stackoverflow.com/questions/44478492/cmake-failed-to-run-msbuild-command-msbuild-exe

Thanks, the link helped. Uninstalled the newer version Visual studio, installed older VS v14 2017 and added to System-> Advanced settings->Environment Variables->PATH the location of MSbuild.exe