-
Notifications
You must be signed in to change notification settings - Fork 104
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Effects of options --conda VS --mamba/--micromamba #758
Comments
Hi @Gullumluvl, thanks for opening an issue. This is indeed a confusing aspect of conda-lock, and we really could use better documentation here. You do an excellent job of structuring and posing your question, so perhaps we could convert this into documentation. The machinery for selecting the conda (or mamba/micromamba) executable is built on ensureconda. You can play around with it using the command conda-lock/conda_lock/invoke_conda.py Lines 46 to 66 in 9766789
Let's make a first pass at answering your questions.
The way I think about it, the main use case for You could ask "is there any functional difference between
Not quite. When running
Yes, because the solution depends on the solver used. From a theoretical perspective I find reproducibility to be a really interesting topic, but practically speaking, even with medium-sized environments the latest dependencies change so quickly that you need to fix a timestamp before any realistic discussion of reproducibility. AFAIK, rattler is the only solver that supports this, and I'm not aware of this actually being used anywhere.
Into the user data directory for the Finally, a few minor corrections in your table:
Does this help clear things up? Would you be interested in opening a PR for this? |
Fantastic! Thanks a lot for the details :D I actually missed that
With your explanations it almost seems to me that the
Yes I would probably be able to make a PR after I take some time to look at the code! |
(closing the issue was a mouse slip)
This would make a lot of sense to me. |
I'm happy to see this explaination. Is there a way to set an environment manager so that I don't need to manually apply --micromamba to every conda-lock command? |
Checklist
What happened?
Hi!
I have some questions about what happens under the hood of conda-lock, which I could not quite figure out from the documentation. I hope asking here is fine.
The description of the options which imply using mamba or micromamba is as follows:
--conda
None
--mamba
/--no-mamba
True
--micromamba
/--no-micromamba
False
They apply to all subcommands of
conda-lock
.but I don't know what is the difference between using
--conda micromamba
and--micromamba
.I would expect that only
conda-lock install
uses the--conda
option, to run the specified executable, whileconda-lock lock
ignores this one but need some libraries to be used, controled with--mamba
/--micromamba
. Is that right?Does using
--mamba
/--micromamba
impacts the reproducibility of the solved environments?Also, when and where do these options install (micro)mamba? I am not sure I need them if I already installed (micro)mamba on my system.
Thanks in advance for your help!
Additional Context
No response
The text was updated successfully, but these errors were encountered: