More information on excluded reasons.
When a build can't be solved due to all available versions of a package being excluded, we might get a message like:
│ pyarrow >=11.0.0, which cannot be installed because there are no viable options:
│ └─ pyarrow 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 |
11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0
| 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 |
11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0
| 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 |
11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0
| 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0 | 11.0.0
<snip>
| 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 |
15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0
| 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.0 | 15.0.1 | 15.0.1 | 15.0.1 | 15.0.1 |
15.0.1 | 15.0.1 | 15.0.1 | 15.0.1 | 15.0.1 | 15.0.1 | 15.0.1 | 15.0.1 | 15.0.1 | 15.0.1 | 15.0.1 | 15.0.1 | 15.0.1 | 15.0.1 | 15.0.1 | 15.0.1 | 15.0.1 | 15.0.1 | 15.0.1 | 15.0.1 | 15.0.1 | 15.0.1 | 15.0.1
| 15.0.1 | 15.0.1 | 15.0.1 | 15.0.2 | 15.0.2 | 15.0.2 | 15.0.2 | 15.0.2 | 15.0.2 | 15.0.2 | 15.0.2 | 15.0.2 | 15.0.2 | 15.0.2 | 15.0.2 | 15.0.2 | 15.0.2 | 15.0.2 | 15.0.2 | 15.0.2 | 15.0.2 | 15.0.2 |
15.0.2 is excluded because due to strict channel priority not using this option from: 'https://conda.anaconda.org/conda-forge/'
but as far as I can tell, there's no way to get insight into what channel is taking priority and for which package.
Is there a way to see this? In my particular scenario, I believe this is due to one of the first listed channels having a build of arrow available which is less than 11.0.0 (and nothing >=11.0.0), but it would be nice if rattler-build made this clearer, so that I don't have to infer it (particularly when I have multiple channels prior to conda-forge.)
@chebee7i at the end it says: is excluded because due to strict channel priority not using this option from: 'https://conda.anaconda.org/conda-forge/'
But we should show fewer versions to make the error look nicer.
My question is not about which channel was excluded, but which channel was being used in its place. If my description is unclear, please let me know and I can try to clean it up.
Got it now :) This would actually be something to fix in rattler then :)