Installation and environment#

Requirements#

The package declares Python 3.10+, PyTorch 2.6.0+, and EvoX 1.2.1+ as its minimum core requirements. Numerical optimization can run on CPU. CUDA execution requires a PyTorch installation compatible with your drivers and system. Check the existing environment before installing dependencies and preserve its CPU/CUDA setup:

python --version
python -m pip show torch evox evomo

If you need to install or replace PyTorch, select a command for your system on the official PyTorch installation page.

Install a release#

python -m pip install evomo

The package manager installs or checks the declared core dependencies. A compatible PyTorch installation does not need to be replaced just to use EvoMO. Published releases may differ from the current development branch; use a source installation for the code documented here.

Install from source#

git clone https://github.com/EMI-Group/evomo.git
cd evomo
python -m pip install -e .

If you already have a checkout, run the last command from its root. An editable installation uses your local source changes directly.

Optional dependencies#

Extra

Command

Purpose

vis

python -m pip install "evomo[vis]"

Plotly and pandas for visualization

neuroevolution

python -m pip install "evomo[neuroevolution]"

Brax/JAX and torchvision

playground

python -m pip install "evomo[playground]"

Playground/MJX control tasks

For an editable installation, use a command such as python -m pip install -e ".[vis]". Use Python 3.11+ for Playground workflows and respect the JAX and MuJoCo version ranges in the package metadata. Installing an extra does not establish JAX GPU support; check jax.devices() separately. Numerical optimization does not require these extras.

Verify the installation#

python -c "import torch; from evomo.algorithms import NSGA2; from evomo.problems.numerical import DTLZ2; print(torch.__version__, torch.cuda.is_available(), NSGA2.__name__, DTLZ2.__name__)"
python -m pip check

The first command checks core imports and CUDA visibility. Run the quickstart next to check a complete optimization workflow.

Development and documentation tools#

python -m pip install pytest ruff
python -m pip install -r docs/requirements.txt

The test extra includes some optional runtime dependencies but does not install pytest or Ruff. To build documentation only, install docs/requirements.txt in a separate environment. API pages are generated by parsing source code, without optimization or simulator dependencies.