mamba: Mamba solving error messages feedback

This is issue is meant to collect feedback on the experimental error messages for statisfiability errors (package conflicts).

You ended up here because you set experimental_sat_error_message in your config.

We are looking for more example of conflicts in the ecosystem that are not well explained with the current implementation. Especially edge cases such as:

  • Multi-channel conflicts,
  • Update conflicts,
  • Constraints conflicts (run_constrained in conda recipes),
  • Missing/outdated virtual packages (those starting with __ that must be present on the system),
  • Large build variants.

We are also gathering feedback on the current form of the messages.

  • Is the wording correct / intelligible? Can it be improved?
  • Is the tree an adequate representation? Is it too detailed? Not detailed enough?
  • Should we show information about the build variants/string?
  • Is the way we present conflict appropriate? The tricky things with conflicts (as opposed to missing packages) is that their are not an isolated problem, they forbid that two packages be installed at the same time, but each of them could be installed individually. The way we deal with it is that the first time we encounter a conflict, we say we can install the package, then the second time, we say it is a conflict.

Please also share things that you like as well, so they don’t get removed for lack of support.

Please share feedback/example with the latest version of mamba/micromamba and report the version in your message (for history).

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 22 (12 by maintainers)

Most upvoted comments

Thanks @johnhany97 for the feedback. With https://github.com/mamba-org/mamba/pull/2149 (WIP), we’ll have:

error    libmamba The following packages are incompatible
    ├─ python 3.10.* * is requested and can be installed;
    └─ python 3.9.* * is uninstallable because it conflicts with any installable versions previously reported.

Today I tried to run micromamba install -n my_env "python 3.9.*" "python 3.10.*" -c conda-forge to look at what the errors looked like but got this interesting result:

    ================== Experimental satisfiability error messages ==================
    You are seeing this because you set `experimental_sat_error_message: true`
    Use the following issue to share feedback on this experimental feature
       https://github.com/mamba-org/mamba/issues/2078

    ====================================== Legacy messages (old) =======================================
    Encountered problems while solving:
      - cannot install both python-3.9.0-hd001b3a_0_cpython and python-3.10.0-h43b31ca_1_cpython

    The environment can't be solved, aborting the operation
    =================================== Experimental messages (new) ====================================
    The following packages are incompatible
    └─ python 3.10.* * is requested and can be installed.
    ====================================================================================================

Notably, we seem to lose the information about python 3.9.* in the tree