Defaults and conda-forge incompatibilities
See original GitHub issueThis issue is created to remind that conda-forge and defaults have incompatibilities. To fix this, there are two ways.
-
conda-forge
channel must have higher priority thandefaults
channel. To check, runconda config --get channels
which gives you the channel priority order.conda config --add channels conda-forge
would makeconda-forge
the highest priority channel. -
When creating conda-forge packages, make sure the dependencies come from conda-forge. (There are few like
libgcc
thatconda-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:
- Created 6 years ago
- Comments:7 (7 by maintainers)
Top 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 >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
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.
@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.