From 5a333e3b39bac7883bcfa3c4bf82ce46a3715773 Mon Sep 17 00:00:00 2001 From: Dirk Baker <dirk-norbert.baker@ufz.de> Date: Thu, 28 Nov 2024 08:53:39 +0100 Subject: [PATCH] Dirk norbert.baker main patch 51749 --- README.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 79c1512..9026e0d 100644 --- a/README.md +++ b/README.md @@ -8,9 +8,9 @@ opengraph: ## Problem -Anaconda, Inc. has (rather silently) changed the terms of service ([TOS](https://www.anaconda.com/pricing/terms-of-service-faqs)) for the `defaults` channel in 2020. This means that institutions with more than 200 employes (including academic) have to pay license fees if they make use of the `defaults` channel (which might be in the worst case 50$ per month $\times$ employes $\times$ months since the change of TOS). +Anaconda, Inc. has (rather silently) changed the terms of service ([TOS](https://www.anaconda.com/pricing/terms-of-service-faqs)) for the `defaults` channel in 2020. This means that institutions with more than 200 employes (including academic) have to pay license fees if they make use of the `defaults` channel (which might be in the worst case 50$ per month $\times$ employes since the change of TOS). Anaconda, Inc. also started to actively enforce the new policy, e.g. [against Intel](https://www.courtlistener.com/docket/69029637/anaconda-inc-v-intel-corporation/). -This raised some uncertainty regarding the use of conda. +This raised some uncertainty regarding the use of conda. This document tries to give the needed background knowledge and a guideline that allows you to easily and safely use the free and open part of the conda ecosystem (i.e. avoid the `defaults` channel). @@ -41,6 +41,7 @@ In order to remove an old conda distribution (like miniconda/anaconda) you need - Remove the installation directory (e.g. `~/miniconda3/`). Note that this typically includes your environments which you might want to keep (see below). - Make sure that your shell's configuration file does not contain any traces of the old conda distribution, i.e. a block starting with `# >>> conda initialize >>>` and ending with `# <<< conda initialize <<<` or any `export` statements or modifications of the `PATH` variable. Potentially this can be done auromatically with `conda init --reverse`. +- The official documentation [also contains a guide to transitioning from `defaults` to `conda-forge`](https://conda-forge.org/docs/user/transitioning_from_defaults/) #### Check existing `conda` environments: @@ -55,7 +56,9 @@ In order to remove an old conda distribution (like miniconda/anaconda) you need - `mamba` does not default to the `defaults` channel. - `conda` does not default to the `defaults` channel when installed via [miniforge](https://github.com/conda-forge/miniforge/blob/e733f7bbc41f42551e9f02766d8a0301b72fde26/README.md?plain=1#L7-L8) - Independent of the choice you need to double check the configurations if you have previously used `conda` / `mamba` or you install conda environments using exported yaml files. -- Nowadays most features of `mamba` (in particular the solver) have been intregrated in `conda`. +- Nowadays most features of `conda` (in particular the solver) have been intregrated in `mamba`. +- Mamba is a slightly faster solver because it was built particularly with performance in mind +- Nowadays `conda` and `mamba` are nearly equivalent, i.e. `mamba` covers most of `conda`'s functionality and `conda` uses `mamba`'s solver by default. Some aspects of `mamba` might be slightly faster. You can use aliases to retain script compatibility. #### Check your configuration: @@ -126,5 +129,7 @@ As discussed above, with minimal effort, both can be used without using the prol This mixes two different concepts. `miniforge` is a conda distribution and `conda-forge` a conda channel. Both are part of the solution. -All other recommentations only apply to python (and are therefore no full alternative) or are unrelated to the actual question. +All other recommentations only apply to python (and are therefore no full alternative) or are unrelated to the actual question. + +The Jülich Supercomputing Centre's RSE Team has also [uploaded a recommendation](https://www.fz-juelich.de/en/rse/the_latest/the-anaconda-is-squeezing-us). Notably, the JSC typically encourages the use of virtual environments that are implemented in Python rather than a package manager such as `conda`, as it is better compatible with EasyBuild (including user modules). -- GitLab