ProjectPythia / pythia-foundations

Jupyterbook source for the Foundations collection
http://foundations.projectpythia.org
Apache License 2.0
59 stars 42 forks source link

Updating our installation instructions to use mamba #391

Open brian-rose opened 1 year ago

brian-rose commented 1 year ago

After a good community discussion on this discourse thread, I think we've settled on advising our users to adopt mamba in some form for their own environment management.

We need to decide on some details:

Some different views were expressed in the above discourse thread.

Whatever we decide, this chapter of Foundations needs updating: https://foundations.projectpythia.org/foundations/conda.html

and probably several other bits of Contributor info like this one: https://projectpythia.org/contributing.html#creating-a-python-environment-that-will-work-with-pythia and this one: https://foundations.projectpythia.org/appendix/how-to-contribute.html

It would be great to get this done prior to the summer hackathon. Let's discuss at the next EWG and make an action plan.

dopplershift commented 1 year ago

I'm a fan of moving to mambaforge because not only does that get us mamba, but it pre-configures the conda-forge channel as well.

brian-rose commented 1 year ago

I'm a fan of moving to mambaforge because not only does that get us mamba, but it pre-configures the conda-forge channel as well.

I support this. That's how I manage environments on my own machines, and it works beautifully.

We'll just need to make sure our tutorial explains clearly the relationship between mamba and conda, since there are vastly more examples of conda usage out in the wild.

e.g. in the metpy installation guide the instructions say to do

conda install -c conda-forge metpy

but the user can replace this with

mamba install metpy
dopplershift commented 9 months ago

When we finally follow up on this, we need to adjust to (probably) use miniforge. This gives us the benefit of having the conda-forge channel pre-configured, but there's no need to go to mambaforge any more since Mamba is now shipping with both and mambaforge is being deprecated. See conda-forge/miniforge#488.

It should also be noted that the Mamba solver should be the default for Conda as well any day now so even switching instructions to use mamba may no longer be needed.

ktyle commented 7 months ago

It looks like libmamba has finally become the default solver for conda-based installations, e.g. miniconda and miniforge. However, the most recent installer for miniforge still uses the classic solver ... one needs to run "conda update --all" after the initial installation for the solver to change. I can move forward with updating our installation instructions, but will need to revisit yet again once the Miniforge installers finally reflect this change in behavior.

brian-rose commented 7 months ago

We discussed this at today's Community Meeting and the consensus seems to be that we should just wait it out, since it appears that miniforge will likely be updated in the not-too-distant future and this will effectively mean that our existing installation instructions will be correct again.

ktyle commented 7 months ago

I think we'll need to do something regardless, as our instructions specify miniconda, but we should be using miniforge (the latter uses the conda-forge channel out-of-the-box).