conda-forge 能否在安装 MKL 版本的软件包时优先于默认值?

Can conda-forge have priority over defaults while still installing MKL versions of packages?

记录的 Conda "best practices" 仍然给予 conda-forge 通道优先于 environment.yml 文件中的 defaults 通道。我可以继续优先 conda-forge 同时仍然从 `defaults 频道下载任何 mkl 优化包吗?

我从未遇到过在我的环境文件中给予 defaults 优先于 conda-forge 的任何问题,所以也许这个建议 "best practice" 不再解决真正的问题。

不过,最好知道是否有一种方法可以在环境文件中指定 mkl,其中 conda-forge 的优先级高于 defaults

conda-forge 提供了自己的 mkl 优化 blas 库,可以通过虚拟包安装(另请参阅:https://conda-forge.org/docs/maintainer/knowledge_base.html#switching-blas-implementation)。

environment.yaml

name: test_foo
channels:
  - conda-forge
  - defaults
dependencies:
  - "libblas=*=*mkl"
  - numpy
  - scipy

conda -n test_foo 列表

ca-certificates           2019.11.28           hecc5488_0    conda-forge
certifi                   2019.11.28               py38_0    conda-forge
intel-openmp              2019.4                      233
libblas                   3.8.0                    14_mkl    conda-forge
libcblas                  3.8.0                    14_mkl    conda-forge
libcxx                    9.0.0                h89e68fa_1    conda-forge
libffi                    3.2.1             h6de7cb9_1006    conda-forge
libgfortran               4.0.0                         2    conda-forge
liblapack                 3.8.0                    14_mkl    conda-forge
llvm-openmp               9.0.0                h40edb58_0    conda-forge
mkl                       2019.4                      233
ncurses                   6.1               h0a44026_1002    conda-forge
numpy                     1.17.3           py38hde6bac1_0    conda-forge
openssl                   1.1.1d               h0b31af3_0    conda-forge
pip                       19.3.1                   py38_0    conda-forge
python                    3.8.0                hd366da7_5    conda-forge
readline                  8.0                  hcfe32e1_0    conda-forge
scipy                     1.4.0            py38h82752d6_0    conda-forge
setuptools                42.0.2                   py38_0    conda-forge
sqlite                    3.30.1               h93121df_0    conda-forge
tk                        8.6.10               hbbe82c9_0    conda-forge
wheel                     0.33.6                   py38_0    conda-forge
xz                        5.2.4             h1de35cc_1001    conda-forge
zlib                      1.2.11            h0b31af3_1006    conda-forge

注意只安装了blas的mkl实现,没有安装openblas