question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Defaults and conda-forge incompatibilities

See original GitHub issue

This issue is created to remind that conda-forge and defaults have incompatibilities. To fix this, there are two ways.

  1. conda-forge channel must have higher priority than defaults channel. To check, run conda config --get channels which gives you the channel priority order. conda config --add channels conda-forge would make conda-forge the highest priority channel.

  2. When creating conda-forge packages, make sure the dependencies come from conda-forge. (There are few like libgcc that conda-forge is relying on defaults). If there’s a dependency missing in conda-forge, add them as well because this missing dependency pulled in from defaults might be relying on the behaviour of another package in defaults which would conflict with conda-forge.

Issue Analytics

  • State:open
  • Created 6 years ago
  • Comments:7 (7 by maintainers)

github_iconTop GitHub Comments

3reactions
msarahancommented, Sep 4, 2017

If you use conda-build 3’s pin_compatible functionality, a lot of this inter-channel incompatibility goes away, because the more intelligent constraints mean that you won’t actually be able to install incompatible software. Not that this is an immediate option, but more of a reminder that channel priority is not the end-all solution here. The better solution is for packages to capture enough compatibility information that mixing channels with confidence is actually possible.

0reactions
msarahancommented, Oct 4, 2018

@guyer conda really does respect channel priority. Here you have features taking priority, though. Conda tries to minimize the number of features in an env. If you instead force a specific blas implementation (which is associated with a feature), you can get conda to avoid the MKL builds. Those are being chosen because they do not have a track_feature, whereas the openblas numpy stuff does.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Tips & tricks — conda-forge 2022.12.21 documentation
The conda-forge and defaults are not 100% compatible. In the example above it is known that defaults uses icu 54.* while conda-forge relies...
Read more >
Incompatibility of the hdf5 package from defaults and conda ...
Incompatibility of the hdf5 package from defaults and conda-forge channels ... While in theory this kind of issue should not happen, we need...
Read more >
Conda Support - Read the Docs
This is the best option to maximize cross-platform compatibility, ... name: rtd38 channels: - conda-forge - defaults dependencies: - python=3.8 # Rest of ......
Read more >
Why does Conda inconsistently want to downgrade NumPy ...
And you have conda-forge above defaults in your channel order. If you say conda install scipy , then Conda will grab SciPy from...
Read more >
Build variants - Conda
The nature of binary compatibility (and incompatibility) means that we ... By default, with the pin_compatible('package_name') function, conda-build pins to ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found