osqp / osqp-python

Python interface for OSQP
https://osqp.org/
Apache License 2.0
109 stars 41 forks source link

Error in building wheel for osqp because "No module named cmake' " #100

Closed jaimiosyncrasy closed 1 year ago

jaimiosyncrasy commented 1 year ago

I'm trying to install the cvxpy package in my virtual environment of PyCharm. I typed C:\Users\<Username>\PycharmProjects\<projectName>\venv\Scripts>pip install cvxpy, and got:

Collecting cvxpy
  Using cached cvxpy-1.2.1-cp311-cp311-win_amd64.whl
Collecting ecos>=2
  Using cached ecos-2.0.10-cp311-cp311-win_amd64.whl
Collecting osqp>=0.4.1
  Using cached osqp-0.6.2.post5.tar.gz (226 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: numpy>=1.15 in c:\users\<Username>\PycharmProjects\<projectName>\venv\lib\site-packages (from cvxpy) (1.23.4)
Collecting scs>=1.1.6
  Using cached scs-3.2.0-cp311-cp311-win_amd64.whl
Requirement already satisfied: scipy>=1.1.0 in c:\users\<Username>\PycharmProjects\<projectName>\venv\lib\site-packages (from cvxpy) (1.9.3)
Collecting qdldl
  Using cached qdldl-0.1.5.post2-cp311-cp311-win_amd64.whl
Building wheels for collected packages: osqp
  Building wheel for osqp (pyproject.toml) ... error
  ERROR: Command errored out with exit status 1:
   command: 'C:\Users\<Username>\PycharmProjects\<projectName>\venv\Scripts\python.exe' 'C:\Users\<Username>\PycharmProjects\<projectName>\venv\Lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py' build_wheel 'C:\Users\<Username>\AppD
ata\Local\Temp\tmptb8bjomi'
       cwd: C:\Users\<Username>\AppData\Local\Temp\pip-install-6glakjuq\osqp_f4f485f728cb41eb9bd04d39cf2e5c81
  Complete output (82 lines):
  Disabling LONG
  Remove long integers for numpy compatibility. See:
   - https://github.com/numpy/numpy/issues/5906
   - https://github.com/ContinuumIO/anaconda-issues/issues/3823
  You can reenable long integers by passing: --osqp --long argument.

  running bdist_wheel
  running build
  running build_py
  running egg_info
  writing src\osqp.egg-info\PKG-INFO
  writing dependency_links to src\osqp.egg-info\dependency_links.txt
  writing requirements to src\osqp.egg-info\requires.txt
  writing top-level names to src\osqp.egg-info\top_level.txt
  listing git files failed - pretending there aren't any
  reading manifest file 'src\osqp.egg-info\SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  adding license file 'LICENSE'
  running build_ext
  Traceback (most recent call last):
    File "<frozen runpy>", line 198, in _run_module_as_main
    File "<frozen runpy>", line 88, in _run_code
    File "C:\Users\<Username>\PycharmProjects\<projectName>\venv\Scripts\cmake.exe\__main__.py", line 4, in <module>     
  ModuleNotFoundError: No module named 'cmake'
.
.
.
  subprocess.CalledProcessError: Command '['cmake', '--version']' returned non-zero exit status 1.
  ----------------------------------------

  ERROR: Failed building wheel for osqp

Trying C:\Users\<Username>>pip install cvxpy does successfuly install cvxpy, but then cvxpy isn't in my virtual environment. I tried uninstalling cmake and then installing cvxpy - didn't work. I uninstalled and reinstalled cmake and didn’t work. cmake version is the latest, ver 3.24.1, obtained from running pip install cmake python version is 3.11.0, pip version is 21.3.1.

jaimiosyncrasy commented 1 year ago

Update: this has been resolved by uninstalling python version 3.11.0 and installing python version 3.10.7. This page suggested that OSQP developers have validated the build wheels properly for 3.10. So maybe they havn't done that for 3.11 yet.