Installation
============
Sageopt requires Python version 3.5 or higher;
we also require the following packages:
1. SciPy, version >= 1.1.
2. Numpy, version >= 1.14.
3. ECOS, version >= 2.0.
It is highly recommended that you also install `MOSEK `_ (version >= 9).
MOSEK is a commercial optimization solver, and currently the only solver that is able to handle
the more interesting convex relaxations needed for optimization with SAGE certificates. If you
are in academia you can request a free `academic license `_ for
MOSEK.
Pip users
---------
Run ``pip install sageopt``.
As an optional second step, install nose (``pip install nose``) and then run
``nosetests sageopt``.
Conda users
-----------
If you use Anaconda for Python development, do the following:
1. activate your anaconda environment,
2. run ``conda install pip``,
3. run ``pip install sageopt``.
It is important that pip be installed inside your conda environment, or sageopt
might not be detected by Anaconda Navigator (among other environment management tools).
As an optional final step, install nose (``conda install nose``) and then run
``nosetests sageopt``.
Installation from source
------------------------
Do the following:
0. Download this repository. If needed, change your directory so that you are in the same directory as
sageopt's ``setup.py`` file.
1. Activate the Python virtual environment of your choice.
2. Run ``pip install -e .`` to install an editable version of sageopt to your current environment.
3. Run ``python -c "import sageopt; print(sageopt.__version__)"`` to verify that sageopt installed correctly.
4. Run ``pip install nose`` (or ``conda install nose``) in preparation for running unittests.
5. Run ``nosetests sageopt/tests``.