Configuration#

Basic options#

conda-rattler-solver is a solver plugin and is configured with the same settings as other solvers in the conda ecosystem. This is usually done via the conda config subcommand, the .condarc file, or CONDA_* environment variables. Read the conda configuration docs for the full list. The settings listed below are the ones that matter most for the solver.

solver#

Selects the solver plugin. Set it to rattler to use conda-rattler-solver by default:

$ conda config --set solver rattler

The --solver command line flag and the CONDA_SOLVER environment variable override this setting for a single command.

channel_priority#

Controls how the solver chooses between packages that are available from more than one channel. conda’s strict, flexible, and disabled modes map onto rattler’s own channel priority modes. flexible is the default. Note that disabled does not sort candidates exactly as classic does. See Known limitations and differences for details.

$ conda config --set channel_priority strict

pinned_packages#

Specs listed in pinned_packages or in the target environment’s conda-meta/pinned file constrain the solve. Like libmamba, rattler rejects command-line requests that conflict with configured pins instead of overriding the pins as classic does. Edit or remove the pin before requesting a conflicting version. Direct pin conflicts can raise SpecsConfigurationConflictError.

If a package is already installed, a pin containing only its name locks it to its installed version and build.

add_pip_as_python_dependency#

When enabled, pip is added as a dependency of python so that every environment with Python also gets pip. conda-rattler-solver honours this setting for regular, sharded, and offline repodata, so it behaves the same as the other solvers.

Upcoming default change

The default is true today and will change to false in conda 27.9, with a deprecation warning from conda 27.3 onwards (see conda/conda#16404). If you rely on pip being installed with Python, set the option explicitly:

$ conda config --set add_pip_as_python_dependency true

repodata_use_shards#

The conda-rattler-solver can read sharded repodata, which lets it fetch only the metadata for the packages involved in a solve rather than a channel’s full repodata.json. This is controlled by conda’s repodata_use_shards setting, which is enabled by default. To fall back to full repodata downloads:

$ conda config --set repodata_use_shards false

or pass --no-repodata-use-shards to a single command. Channels that do not publish sharded repodata are fetched the usual way, regardless of the value of this setting.