This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
other:uvcdat:cdat_conda:miniconda3_install [2021/03/09 10:38] jypeter [Fine-tuning conda] |
other:uvcdat:cdat_conda:miniconda3_install [2021/03/09 13:01] jypeter [Using mamba instead of conda] |
||
---|---|---|---|
Line 124: | Line 124: | ||
Most of the packages we will install will be provided by the //conda-forge// channel (''-c conda-forge'' option). The installation steps will also add dependencies that will theoretically come from //conda-forge//, but could also come from the //defaults// channel. | Most of the packages we will install will be provided by the //conda-forge// channel (''-c conda-forge'' option). The installation steps will also add dependencies that will theoretically come from //conda-forge//, but could also come from the //defaults// channel. | ||
- | The following will **make sure that we only get packages from //conda-forge//** (see [[https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-channels.html|Managing channels]] and [[https://conda-forge.org/docs/user/tipsandtricks.html#how-to-fix-it|Using multiple channels => How to fix it]]) | + | The following will **make sure that we only get packages from //conda-forge//** unless the requested packages really don't exist on //conda-forge// (see [[https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-channels.html|Managing channels]] and [[https://conda-forge.org/docs/user/tipsandtricks.html#how-to-fix-it|Using multiple channels => How to fix it]]) |
<code>$ conda config --add channels conda-forge | <code>$ conda config --add channels conda-forge | ||
$ conda config --set channel_priority strict | $ conda config --set channel_priority strict | ||
- | $ cat .condarc | + | $ cat ~/.condarc |
channels: | channels: | ||
- conda-forge | - conda-forge | ||
Line 136: | Line 136: | ||
==== Using mamba instead of conda ==== | ==== Using mamba instead of conda ==== | ||
- | Even when using a proper ''.condarc'' in order to get packages coming only from //conda-forge//, ''conda install'' may fail to solve the dependencies after meditating during an enormous time, when we specify **complex environments**. Using CDAT as a base environment, and adding a lot of extra packages is a complex environment. | + | Even when using a proper ''.condarc'' in order to get packages coming only from //conda-forge//, ''conda install'' may fail to solve the dependencies after meditating during an enormous time (e.g. [[https://github.com/conda/conda/issues/9367|Solving environment: failed with initial frozen solve. Retrying with flexible solve.]]), when we try to deal with **complex environments** (i.e. we already have lots of installed packages and we want to install even more packages). |
+ | |||
+ | Using CDAT as a base environment, and adding a lot of extra packages is a **complex environment**. | ||
The only solution seems to replace ''conda'' with [[https://github.com/mamba-org/mamba|mamba]], a reimplementation of the conda package manager in C++ ([[https://wolfv.medium.com/making-conda-fast-again-4da4debfb3b7|Making conda fast again]]) | The only solution seems to replace ''conda'' with [[https://github.com/mamba-org/mamba|mamba]], a reimplementation of the conda package manager in C++ ([[https://wolfv.medium.com/making-conda-fast-again-4da4debfb3b7|Making conda fast again]]) |