如何用micromamba访问Anaconda源获取MKL编译的numpy/scipy
用micromamba获取Anaconda官方MKL编译的numpy和scipy
需求说明
我使用micromamba搭建Python环境,希望按conda源文档说明访问Anaconda源下载软件包。默认micromamba配置使用conda-forge源,但我需要获取Anaconda官方用MKL编译的numpy和scipy包。
问题背景
从conda-forge源安装numpy后,查看配置发现未关联MKL,具体配置信息如下:
python -c "import numpy as np; np.show_config()" blas信息: 库 = ['cblas', 'blas', 'cblas', 'blas', 'cblas', 'blas'] 库目录 = ['C:/Applications/Python\Library\lib'] 头文件目录 = ['C:/Applications/Python\Library\include'] 语言 = f77 定义宏 = [('HAVE_CBLAS', None)] blas优化信息: 定义宏 = [('NO_ATLAS_INFO', 1), ('HAVE_CBLAS', None)] 库 = ['cblas', 'blas', 'cblas', 'blas', 'cblas', 'blas'] 库目录 = ['C:/Applications/Python\Library\lib'] 头文件目录 = ['C:/Applications/Python\Library\include'] 语言 = f77 lapack信息: 库 = ['lapack', 'blas', 'lapack', 'blas'] 库目录 = ['C:/Applications/Python\Library\lib'] 语言 = f77 lapack优化信息: 库 = ['lapack', 'blas', 'lapack', 'blas', 'cblas', 'blas', 'cblas', 'blas', 'cblas', 'blas'] 库目录 = ['C:/Applications/Python\Library\lib'] 语言 = f77 定义宏 = [('NO_ATLAS_INFO', 1), ('HAVE_CBLAS', None)] 头文件目录 = ['C:/Applications/Python\Library\include'] 此NumPy安装支持的SIMD扩展: 基线 = SSE,SSE2,SSE3 已支持 = SSSE3,SSE41,POPCNT,SSE42,AVX,F16C,FMA3,AVX2,AVX512F,AVX512CD,AVX512_SKX,AVX512_CLX 未支持 = AVX512_CNL
解决方案
步骤1:调整micromamba源优先级
执行命令将Anaconda官方源(defaults)添加到源列表最前面,确保其优先级高于conda-forge:micromamba config prepend channels defaults若后续仍需使用conda-forge的其他包,无需移除该源,优先级设置会让系统优先从Anaconda源下载匹配的包。
步骤2:卸载现有版本
先移除当前conda-forge版本的numpy和scipy:micromamba remove numpy scipy步骤3:安装MKL编译版本
直接安装numpy和scipy,此时会从优先级更高的Anaconda源获取MKL编译的官方包:micromamba install numpy scipy步骤4:验证安装结果
运行以下命令检查numpy是否关联MKL:python -c "import numpy as np; np.show_config()"成功安装后,输出中会出现
mkl_info和mkl_opt_info相关段落,包含MKL的库路径、头文件目录等信息。
内容的提问来源于stack exchange,提问作者Mark
相关产品推荐
相关产品推荐

