The easiest way to install the python version is using pip:

pip install scs

SCS depends on python packages numpy and scipy to run and on numpy to install. It uses numpy to tell it what BLAS and LAPACK libraries to link against. If you run into an error like this:

RuntimeError: Found /usr/lib/libcblas.dylib, but that file is a symbolic link to
the MacOS Accelerate framework, which is not supported by NumPy

you can try:

brew install openblas
OPENBLAS="$(brew --prefix openblas)" pip install scs

You can also install directly from source

git clone --recursive
cd scs-python
python install

You can install the MKL Pardiso interface using

python install --scs --mkl

You can install the GPU interface using

python install --scs --gpu

To test that SCS installed correctly, and you have pytest installed, run


See here for the API.