The short answer is: use mamba
as a drop-in replacement for conda
, it's much much faster at solving environments, no more waiting for minutes. mamba
has been officially endorsed by the conda team.
Mamba also allows you to configure more precisely which packages you require to be installed and allows you to pin versions, as conda does. For a more detailed comparison of conda
and mamba
see this Stackoverflow answer: https://mcmap.net/q/162117/-how-could-using-mamba-instead-of-conda-as-package-manager-for-anaconda-be-problematic-closed
The long answer is: Solving conda environments with more than a few packages that each have dependencies on their own quickly ends up becoming a quite complicated SAT problem (see Boolean satisfiability problem and dependency hell)
With good algorithms, even fairly big SAT problems can be solved fast. In contrast to mamba
's solver which is written in C++ and designed to be fast, it seems that conda
's solver is not very high performance. It worked well enough when people used small environments in the past, but with bigger and bigger environments, conda has started to struggle.
I made the switch about a year ago and I have not once looked back. The open source project I'm working for (Nextstrain) has also started to recommend mamba
in place of conda
for new users. I have not seen anyone advocating against using mamba
in place of conda
.