Skip to content
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

CLS injects channels from installed packages #411

Open
2 tasks done
kenodegard opened this issue Dec 14, 2023 · 4 comments
Open
2 tasks done

CLS injects channels from installed packages #411

kenodegard opened this issue Dec 14, 2023 · 4 comments
Labels
pending::discussion contains some ongoing discussion that needs to be resolved prior to proceeding source::anaconda created by members of Anaconda, Inc. type::feature request for a new feature or capability

Comments

@kenodegard
Copy link
Contributor

Checklist

  • I added a descriptive title
  • I searched open requests and couldn't find a duplicate

What is the idea?

Libmamba changes the default behavior of what channels are used for solves by appended the installed package's channels to the list of channels. So once a channel has been used to fetch a package, that channel will continue to be included in all future solves even if we no longer wish to use that channel.

We can return to classic's behavior by enabling CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED, see docs.

I'm wondering how and why this feature was decided on in the first place and whether there is additional context that can be provided.

Why is this needed?

No response

What should happen?

No response

Additional Context

No response

@kenodegard kenodegard added type::feature request for a new feature or capability pending::discussion contains some ongoing discussion that needs to be resolved prior to proceeding source::anaconda created by members of Anaconda, Inc. labels Dec 14, 2023
@github-project-automation github-project-automation bot moved this to 🆕 New in 🧭 Planning Dec 14, 2023
@jaimergp
Copy link
Contributor

Introduced in #52 as a workaround for conda/conda#11790, supported by source code comments in conda/conda.

@jezdez
Copy link
Member

jezdez commented Apr 26, 2024

A number of experienced conda users have reported to me that they are surprised by the work-around and indicated that CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED should be the default instead of an option (or maybe switch the default and provide a config value?).

@jaimergp
Copy link
Contributor

The PR discussion contains the rationale: very loud warnings alarmed the user otherwise. The conda classic code contained comments suggesting this behaviour should be implemented, too. The env var is there because so far we don't have a way to configure per-plugin settings (but this is in the making). This is documented in the documentation, a pinned issue, and this one.

That said we can flip this back with the (upcoming) libmamba v2, I think. We have more control over the solver.

@jbednar
Copy link

jbednar commented Apr 26, 2024

As a user, I would be astonished if ffmpeg were to be installed from the pytorch channel if I do this:

conda create -n py310 python=3.10
conda activate py310
conda install pytorch::pytorch
conda install ffmpeg

Historically, the :: syntax has not conveyed "add this channel to the default places to search", and that's certainly not what I would have intended to happen. Can't the warning messages be addressed more directly? Seems like that should be a special thing to catch ("oh, don't warn about this one, because it's from another channel that we don't have repodata for (or whose repodata is kept separate from the rest to avoid using it in solves)").

@jaimergp jaimergp mentioned this issue Jul 8, 2024
9 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pending::discussion contains some ongoing discussion that needs to be resolved prior to proceeding source::anaconda created by members of Anaconda, Inc. type::feature request for a new feature or capability
Projects
Status: 🆕 New
Development

No branches or pull requests

4 participants