robertmartin8 / PyPortfolioOpt

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

Could not install on MacOS mambaforge #426

Closed MaxMA2000 closed 2 years ago

MaxMA2000 commented 2 years ago

MacOS (14-inch Macbook Pro), mambaforge, Python3.9

What I tried pip install pyportfolioopt

Error message

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: /Users/maxma/mambaforge/bin/python3.9 /private/var/folders/47/rlzyr75n4s10_97pdbpn0j2r0000gn/T/pip-standalone-pip-fedxei0x/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /private/var/folders/47/rlzyr75n4s10_97pdbpn0j2r0000gn/T/pip-build-env-8iu43ygw/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: scs>=1.1.6 in /Users/maxma/mambaforge/lib/python3.9/site-packages (from cvxpy<2.0.0,>=1.1.10->PyPortfolioOpt) (3.2.0)
Collecting ecos>=2
  Using cached ecos-2.0.10-cp39-cp39-macosx_11_0_arm64.whl
Requirement already satisfied: python-dateutil>=2.8.1 in /Users/maxma/mambaforge/lib/python3.9/site-packages (from pandas>=0.19->PyPortfolioOpt) (2.8.2)
Requirement already satisfied: pytz>=2020.1 in /Users/maxma/mambaforge/lib/python3.9/site-packages (from pandas>=0.19->PyPortfolioOpt) (2021.3)
Requirement already satisfied: future in /Users/maxma/mambaforge/lib/python3.9/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 /Users/maxma/mambaforge/lib/python3.9/site-packages (from python-dateutil>=2.8.1->pandas>=0.19->PyPortfolioOpt) (1.15.0)
Building wheels for collected packages: osqp
  Building wheel for osqp (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /Users/maxma/mambaforge/bin/python3.9 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/47/rlzyr75n4s10_97pdbpn0j2r0000gn/T/pip-install-vb2vd5ua/osqp_e8762e3a22f54fa09023228fc44c5d2f/setup.py'"'"'; __file__='"'"'/private/var/folders/47/rlzyr75n4s10_97pdbpn0j2r0000gn/T/pip-install-vb2vd5ua/osqp_e8762e3a22f54fa09023228fc44c5d2f/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'"'"'))' bdist_wheel -d /private/var/folders/47/rlzyr75n4s10_97pdbpn0j2r0000gn/T/pip-wheel-430l4yh2
       cwd: /private/var/folders/47/rlzyr75n4s10_97pdbpn0j2r0000gn/T/pip-install-vb2vd5ua/osqp_e8762e3a22f54fa09023228fc44c5d2f/
  Complete output (123 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.macosx-11.0-arm64-3.9
  creating build/lib.macosx-11.0-arm64-3.9/osqp
  copying module/interface.py -> build/lib.macosx-11.0-arm64-3.9/osqp
  copying module/__init__.py -> build/lib.macosx-11.0-arm64-3.9/osqp
  copying module/utils.py -> build/lib.macosx-11.0-arm64-3.9/osqp
  creating build/lib.macosx-11.0-arm64-3.9/osqp/codegen
  copying module/codegen/__init__.py -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen
  copying module/codegen/utils.py -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen
  copying module/codegen/code_generator.py -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen
  creating build/lib.macosx-11.0-arm64-3.9/osqp/tests
  copying module/tests/mkl_pardiso_test.py -> build/lib.macosx-11.0-arm64-3.9/osqp/tests
  copying module/tests/warm_start_test.py -> build/lib.macosx-11.0-arm64-3.9/osqp/tests
  copying module/tests/polishing_test.py -> build/lib.macosx-11.0-arm64-3.9/osqp/tests
  copying module/tests/codegen_matrices_test.py -> build/lib.macosx-11.0-arm64-3.9/osqp/tests
  copying module/tests/__init__.py -> build/lib.macosx-11.0-arm64-3.9/osqp/tests
  copying module/tests/update_matrices_test.py -> build/lib.macosx-11.0-arm64-3.9/osqp/tests
  copying module/tests/primal_infeasibility_test.py -> build/lib.macosx-11.0-arm64-3.9/osqp/tests
  copying module/tests/codegen_vectors_test.py -> build/lib.macosx-11.0-arm64-3.9/osqp/tests
  copying module/tests/non_convex_test.py -> build/lib.macosx-11.0-arm64-3.9/osqp/tests
  copying module/tests/unconstrained_test.py -> build/lib.macosx-11.0-arm64-3.9/osqp/tests
  copying module/tests/dual_infeasibility_test.py -> build/lib.macosx-11.0-arm64-3.9/osqp/tests
  copying module/tests/basic_test.py -> build/lib.macosx-11.0-arm64-3.9/osqp/tests
  copying module/tests/feasibility_test.py -> build/lib.macosx-11.0-arm64-3.9/osqp/tests
  creating build/lib.macosx-11.0-arm64-3.9/osqppurepy
  copying modulepurepy/interface.py -> build/lib.macosx-11.0-arm64-3.9/osqppurepy
  copying modulepurepy/_osqp.py -> build/lib.macosx-11.0-arm64-3.9/osqppurepy
  copying modulepurepy/__init__.py -> build/lib.macosx-11.0-arm64-3.9/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.macosx-11.0-arm64-3.9/osqp/codegen/files_to_generate
  copying module/codegen/files_to_generate/CMakeLists.txt -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/files_to_generate
  copying module/codegen/files_to_generate/emosqpmodule.c -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/files_to_generate
  copying module/codegen/files_to_generate/example.c -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/files_to_generate
  copying module/codegen/files_to_generate/setup.py -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/files_to_generate
  creating build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources
  creating build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/configure
  copying module/codegen/sources/configure/osqp_configure.h.in -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/configure
  copying module/codegen/sources/configure/qdldl_types.h.in -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/configure
  creating build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
  copying module/codegen/sources/include/CMakeLists.txt -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
  copying module/codegen/sources/include/auxil.h -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
  copying module/codegen/sources/include/constants.h -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
  copying module/codegen/sources/include/error.h -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
  copying module/codegen/sources/include/glob_opts.h -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
  copying module/codegen/sources/include/kkt.h -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
  copying module/codegen/sources/include/lin_alg.h -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
  copying module/codegen/sources/include/osqp.h -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
  copying module/codegen/sources/include/proj.h -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
  copying module/codegen/sources/include/qdldl.h -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
  copying module/codegen/sources/include/qdldl_interface.h -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
  copying module/codegen/sources/include/scaling.h -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
  copying module/codegen/sources/include/types.h -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
  copying module/codegen/sources/include/util.h -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
  creating build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/src
  copying module/codegen/sources/src/CMakeLists.txt -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/src
  copying module/codegen/sources/src/auxil.c -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/src
  copying module/codegen/sources/src/error.c -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/src
  copying module/codegen/sources/src/kkt.c -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/src
  copying module/codegen/sources/src/lin_alg.c -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/src
  copying module/codegen/sources/src/osqp.c -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/src
  copying module/codegen/sources/src/proj.c -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/src
  copying module/codegen/sources/src/qdldl.c -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/src
  copying module/codegen/sources/src/qdldl_interface.c -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/src
  copying module/codegen/sources/src/scaling.c -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/src
  copying module/codegen/sources/src/util.c -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/src
  running build_ext
  Traceback (most recent call last):
    File "/private/var/folders/47/rlzyr75n4s10_97pdbpn0j2r0000gn/T/pip-install-vb2vd5ua/osqp_e8762e3a22f54fa09023228fc44c5d2f/setup.py", line 164, in build_extensions
      check_output(['cmake', '--version'])
    File "/Users/maxma/mambaforge/lib/python3.9/subprocess.py", line 424, in check_output
      return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
    File "/Users/maxma/mambaforge/lib/python3.9/subprocess.py", line 505, in run
      with Popen(*popenargs, **kwargs) as process:
    File "/Users/maxma/mambaforge/lib/python3.9/subprocess.py", line 951, in __init__
      self._execute_child(args, executable, preexec_fn, close_fds,
    File "/Users/maxma/mambaforge/lib/python3.9/subprocess.py", line 1821, in _execute_child
      raise child_exception_type(errno_num, err_msg, err_filename)
  FileNotFoundError: [Errno 2] No such file or directory: 'cmake'

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/private/var/folders/47/rlzyr75n4s10_97pdbpn0j2r0000gn/T/pip-install-vb2vd5ua/osqp_e8762e3a22f54fa09023228fc44c5d2f/setup.py", line 208, in <module>
      setup(name='osqp',
    File "/Users/maxma/mambaforge/lib/python3.9/site-packages/setuptools/__init__.py", line 153, in setup
      return distutils.core.setup(**attrs)
    File "/Users/maxma/mambaforge/lib/python3.9/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/Users/maxma/mambaforge/lib/python3.9/distutils/dist.py", line 966, in run_commands
      self.run_command(cmd)
    File "/Users/maxma/mambaforge/lib/python3.9/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/Users/maxma/mambaforge/lib/python3.9/site-packages/wheel/bdist_wheel.py", line 290, in run
      self.run_command('build')
    File "/Users/maxma/mambaforge/lib/python3.9/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/Users/maxma/mambaforge/lib/python3.9/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/Users/maxma/mambaforge/lib/python3.9/distutils/command/build.py", line 135, in run
      self.run_command(cmd_name)
    File "/Users/maxma/mambaforge/lib/python3.9/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/Users/maxma/mambaforge/lib/python3.9/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/Users/maxma/mambaforge/lib/python3.9/site-packages/setuptools/command/build_ext.py", line 79, in run
      _build_ext.run(self)
    File "/Users/maxma/mambaforge/lib/python3.9/distutils/command/build_ext.py", line 340, in run
      self.build_extensions()
    File "/private/var/folders/47/rlzyr75n4s10_97pdbpn0j2r0000gn/T/pip-install-vb2vd5ua/osqp_e8762e3a22f54fa09023228fc44c5d2f/setup.py", line 166, in build_extensions
      raise RuntimeError("CMake must be installed to build OSQP")
  RuntimeError: CMake must be installed to build OSQP
  ----------------------------------------
  ERROR: Failed building wheel for osqp
  Running setup.py clean for osqp
Failed to build osqp
Installing collected packages: osqp, ecos, cvxpy, PyPortfolioOpt
    Running setup.py install for osqp ... error
    ERROR: Command errored out with exit status 1:
     command: /Users/maxma/mambaforge/bin/python3.9 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/47/rlzyr75n4s10_97pdbpn0j2r0000gn/T/pip-install-vb2vd5ua/osqp_e8762e3a22f54fa09023228fc44c5d2f/setup.py'"'"'; __file__='"'"'/private/var/folders/47/rlzyr75n4s10_97pdbpn0j2r0000gn/T/pip-install-vb2vd5ua/osqp_e8762e3a22f54fa09023228fc44c5d2f/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 /private/var/folders/47/rlzyr75n4s10_97pdbpn0j2r0000gn/T/pip-record-50bqxurr/install-record.txt --single-version-externally-managed --compile --install-headers /Users/maxma/mambaforge/include/python3.9/osqp
         cwd: /private/var/folders/47/rlzyr75n4s10_97pdbpn0j2r0000gn/T/pip-install-vb2vd5ua/osqp_e8762e3a22f54fa09023228fc44c5d2f/
    Complete output (127 lines):
    running install
    /Users/maxma/mambaforge/lib/python3.9/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
      warnings.warn(
    running build
    running build_py
    creating build
    creating build/lib.macosx-11.0-arm64-3.9
    creating build/lib.macosx-11.0-arm64-3.9/osqp
    copying module/interface.py -> build/lib.macosx-11.0-arm64-3.9/osqp
    copying module/__init__.py -> build/lib.macosx-11.0-arm64-3.9/osqp
    copying module/utils.py -> build/lib.macosx-11.0-arm64-3.9/osqp
    creating build/lib.macosx-11.0-arm64-3.9/osqp/codegen
    copying module/codegen/__init__.py -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen
    copying module/codegen/utils.py -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen
    copying module/codegen/code_generator.py -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen
    creating build/lib.macosx-11.0-arm64-3.9/osqp/tests
    copying module/tests/mkl_pardiso_test.py -> build/lib.macosx-11.0-arm64-3.9/osqp/tests
    copying module/tests/warm_start_test.py -> build/lib.macosx-11.0-arm64-3.9/osqp/tests
    copying module/tests/polishing_test.py -> build/lib.macosx-11.0-arm64-3.9/osqp/tests
    copying module/tests/codegen_matrices_test.py -> build/lib.macosx-11.0-arm64-3.9/osqp/tests
    copying module/tests/__init__.py -> build/lib.macosx-11.0-arm64-3.9/osqp/tests
    copying module/tests/update_matrices_test.py -> build/lib.macosx-11.0-arm64-3.9/osqp/tests
    copying module/tests/primal_infeasibility_test.py -> build/lib.macosx-11.0-arm64-3.9/osqp/tests
    copying module/tests/codegen_vectors_test.py -> build/lib.macosx-11.0-arm64-3.9/osqp/tests
    copying module/tests/non_convex_test.py -> build/lib.macosx-11.0-arm64-3.9/osqp/tests
    copying module/tests/unconstrained_test.py -> build/lib.macosx-11.0-arm64-3.9/osqp/tests
    copying module/tests/dual_infeasibility_test.py -> build/lib.macosx-11.0-arm64-3.9/osqp/tests
    copying module/tests/basic_test.py -> build/lib.macosx-11.0-arm64-3.9/osqp/tests
    copying module/tests/feasibility_test.py -> build/lib.macosx-11.0-arm64-3.9/osqp/tests
    creating build/lib.macosx-11.0-arm64-3.9/osqppurepy
    copying modulepurepy/interface.py -> build/lib.macosx-11.0-arm64-3.9/osqppurepy
    copying modulepurepy/_osqp.py -> build/lib.macosx-11.0-arm64-3.9/osqppurepy
    copying modulepurepy/__init__.py -> build/lib.macosx-11.0-arm64-3.9/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.macosx-11.0-arm64-3.9/osqp/codegen/files_to_generate
    copying module/codegen/files_to_generate/CMakeLists.txt -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/files_to_generate
    copying module/codegen/files_to_generate/emosqpmodule.c -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/files_to_generate
    copying module/codegen/files_to_generate/example.c -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/files_to_generate
    copying module/codegen/files_to_generate/setup.py -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/files_to_generate
    creating build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources
    creating build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/configure
    copying module/codegen/sources/configure/osqp_configure.h.in -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/configure
    copying module/codegen/sources/configure/qdldl_types.h.in -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/configure
    creating build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
    copying module/codegen/sources/include/CMakeLists.txt -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
    copying module/codegen/sources/include/auxil.h -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
    copying module/codegen/sources/include/constants.h -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
    copying module/codegen/sources/include/error.h -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
    copying module/codegen/sources/include/glob_opts.h -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
    copying module/codegen/sources/include/kkt.h -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
    copying module/codegen/sources/include/lin_alg.h -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
    copying module/codegen/sources/include/osqp.h -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
    copying module/codegen/sources/include/proj.h -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
    copying module/codegen/sources/include/qdldl.h -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
    copying module/codegen/sources/include/qdldl_interface.h -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
    copying module/codegen/sources/include/scaling.h -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
    copying module/codegen/sources/include/types.h -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
    copying module/codegen/sources/include/util.h -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/include
    creating build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/src
    copying module/codegen/sources/src/CMakeLists.txt -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/src
    copying module/codegen/sources/src/auxil.c -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/src
    copying module/codegen/sources/src/error.c -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/src
    copying module/codegen/sources/src/kkt.c -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/src
    copying module/codegen/sources/src/lin_alg.c -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/src
    copying module/codegen/sources/src/osqp.c -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/src
    copying module/codegen/sources/src/proj.c -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/src
    copying module/codegen/sources/src/qdldl.c -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/src
    copying module/codegen/sources/src/qdldl_interface.c -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/src
    copying module/codegen/sources/src/scaling.c -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/src
    copying module/codegen/sources/src/util.c -> build/lib.macosx-11.0-arm64-3.9/osqp/codegen/sources/src
    running build_ext
    Traceback (most recent call last):
      File "/private/var/folders/47/rlzyr75n4s10_97pdbpn0j2r0000gn/T/pip-install-vb2vd5ua/osqp_e8762e3a22f54fa09023228fc44c5d2f/setup.py", line 164, in build_extensions
        check_output(['cmake', '--version'])
      File "/Users/maxma/mambaforge/lib/python3.9/subprocess.py", line 424, in check_output
        return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
      File "/Users/maxma/mambaforge/lib/python3.9/subprocess.py", line 505, in run
        with Popen(*popenargs, **kwargs) as process:
      File "/Users/maxma/mambaforge/lib/python3.9/subprocess.py", line 951, in __init__
        self._execute_child(args, executable, preexec_fn, close_fds,
      File "/Users/maxma/mambaforge/lib/python3.9/subprocess.py", line 1821, in _execute_child
        raise child_exception_type(errno_num, err_msg, err_filename)
    FileNotFoundError: [Errno 2] No such file or directory: 'cmake'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/47/rlzyr75n4s10_97pdbpn0j2r0000gn/T/pip-install-vb2vd5ua/osqp_e8762e3a22f54fa09023228fc44c5d2f/setup.py", line 208, in <module>
        setup(name='osqp',
      File "/Users/maxma/mambaforge/lib/python3.9/site-packages/setuptools/__init__.py", line 153, in setup
        return distutils.core.setup(**attrs)
      File "/Users/maxma/mambaforge/lib/python3.9/distutils/core.py", line 148, in setup
        dist.run_commands()
      File "/Users/maxma/mambaforge/lib/python3.9/distutils/dist.py", line 966, in run_commands
        self.run_command(cmd)
      File "/Users/maxma/mambaforge/lib/python3.9/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/Users/maxma/mambaforge/lib/python3.9/site-packages/setuptools/command/install.py", line 68, in run
        return orig.install.run(self)
      File "/Users/maxma/mambaforge/lib/python3.9/distutils/command/install.py", line 546, in run
        self.run_command('build')
      File "/Users/maxma/mambaforge/lib/python3.9/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/Users/maxma/mambaforge/lib/python3.9/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/Users/maxma/mambaforge/lib/python3.9/distutils/command/build.py", line 135, in run
        self.run_command(cmd_name)
      File "/Users/maxma/mambaforge/lib/python3.9/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/Users/maxma/mambaforge/lib/python3.9/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/Users/maxma/mambaforge/lib/python3.9/site-packages/setuptools/command/build_ext.py", line 79, in run
        _build_ext.run(self)
      File "/Users/maxma/mambaforge/lib/python3.9/distutils/command/build_ext.py", line 340, in run
        self.build_extensions()
      File "/private/var/folders/47/rlzyr75n4s10_97pdbpn0j2r0000gn/T/pip-install-vb2vd5ua/osqp_e8762e3a22f54fa09023228fc44c5d2f/setup.py", line 166, in build_extensions
        raise RuntimeError("CMake must be installed to build OSQP")
    RuntimeError: CMake must be installed to build OSQP
    ----------------------------------------
ERROR: Command errored out with exit status 1: /Users/maxma/mambaforge/bin/python3.9 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/47/rlzyr75n4s10_97pdbpn0j2r0000gn/T/pip-install-vb2vd5ua/osqp_e8762e3a22f54fa09023228fc44c5d2f/setup.py'"'"'; __file__='"'"'/private/var/folders/47/rlzyr75n4s10_97pdbpn0j2r0000gn/T/pip-install-vb2vd5ua/osqp_e8762e3a22f54fa09023228fc44c5d2f/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 /private/var/folders/47/rlzyr75n4s10_97pdbpn0j2r0000gn/T/pip-record-50bqxurr/install-record.txt --single-version-externally-managed --compile --install-headers /Users/maxma/mambaforge/include/python3.9/osqp Check the logs for full command output.
robertmartin8 commented 2 years ago

It seems to be complaining about CMake. Maybe this issue provides a fix? Let me know

MaxMA2000 commented 2 years ago

Thank you so much, Robert! It worked perfectly fine :)

For later who needs this package, but uses MacOS with mambaforge (or conda):

Again, thanks Robert for this great package!

robertmartin8 commented 2 years ago

Glad to hear!