Installation#
CVXlab supports Python 3.11 and is tested on Windows and macOS. Using an
isolated conda environment is strongly recommended to avoid dependency
conflicts with other projects.
Create a Conda Environment#
Creating a dedicated conda environment ensures CVXlab and its dependencies don’t interfere with other Python projects. This step is optional but highly recommended.
For Windows: Open Anaconda Prompt or Command Prompt (with conda in PATH); for macOS / Linux: Open a terminal. Then run:
conda create -n cvxlab python=3.11
conda activate cvxlab
Once the environment is activated, your prompt should show (cvxlab) at the
beginning. You can now proceed to install CVXlab.
Install from PyPI (Users)#
If you want to use CVXlab for modeling and solving optimization problems (without modifying the source code), install it via pip.
With the cvxlab conda environment active, run:
pip install cvxlab
This command installs CVXlab and all required dependencies (numpy, pandas, cvxpy, openpyxl, etc.).
Install from Dev Branch (Latest Features)#
If you want to try the latest unreleased features without modifying the source
code yourself, you can install directly from the dev branch on GitHub:
pip install git+https://github.com/cvxlab/cvxlab.git@dev
This installs the current state of the dev branch as a regular (non-editable)
package. No git clone is required. To update to the newest commits later, re-run
the same command with the --upgrade flag:
pip install --upgrade git+https://github.com/cvxlab/cvxlab.git@dev
Note
The dev branch may contain features or fixes not yet in the stable PyPI
release. It is generally functional but not guaranteed to be fully stable.
Install from Source (Developers)#
If you want to contribute to CVXlab or modify the source code, install it in editable mode from the GitHub repository.
Option 1: Clone directly (for private development)
Clone the repository:
git clone https://github.com/cvxlab/cvxlab.git cd cvxlab
With the
cvxlabconda environment active, install in editable mode:pip install -e .[dev]
Option 2: Fork (for contributing via pull requests)
If you plan to submit changes back to the project:
Fork the repository on GitHub (click “Fork” at cvxlab/cvxlab).
Clone your fork:
git clone https://github.com/YOUR_USERNAME/cvxlab.git cd cvxlab
Add the upstream repository as a remote:
git remote add upstream https://github.com/cvxlab/cvxlab.git
With the
cvxlabconda environment active, install in editable mode (with the-eflag), so all changes make to the source code are immediately reflected without reinstalling. This is ideal for development and testing.pip install -e .[dev]
Extras can be included to install additional dependencies for development, documentation, or solvers:
[dev]: Installs development dependencies (pytest, black, flake8, mypy, etc.).[docs]: Installs Sphinx and related tools for building documentation.[solvers]: Installs additional solver interfaces (e.g.,gurobipyfor GUROBI).
Create a feature branch for your changes:
git checkout -b feature/my-new-feature
After making changes, push to your fork and open a pull request on GitHub.
Verify Installation#
After installation, verify that CVXlab is correctly installed and importable:
python -c "import cvxlab; print(cvxlab.__version__)"
If the import succeeds and prints the version, CVXlab is ready to use.
Troubleshooting#
Check the GitHub Issues page.
Consult the cvxpy installation guide for solver-specific troubleshooting.
Reach out via email: matteovincenzo.rocco@polimi.it