Anaconda环境中能否关闭/降级Intel MKL使用原生Numpy功能?
Anaconda环境安装非MKL版本numpy的方法
方法1:通过conda-forge安装OpenBLAS编译的numpy(推荐)
conda-forge源提供了基于OpenBLAS编译的numpy版本,可直接替换MKL版本,操作如下:
- 首先添加conda-forge源(如已添加可跳过)
conda config --add channels conda-forge - 执行安装命令,指定线性代数后端为OpenBLAS
conda install "libblas=*=*openblas" numpy
该方法为conda原生安装方式,依赖冲突概率低,安装完成后默认不会调用MKL。
方法2:通过pip安装官方预编译numpy
pip源提供的官方预编译numpy默认基于OpenBLAS构建,也可满足需求:
- 先卸载当前环境中已安装的numpy
conda remove numpy --force - 执行pip安装命令
pip install numpy
注意该方法可能存在conda与pip依赖冲突风险,仅作为备选方案使用。
方法3:临时禁用MKL(无需重装numpy,适合快速验证)
如果仅需要临时验证问题是否由MKL导致,无需替换numpy版本,直接设置对应环境变量即可禁用MKL调用:
- Linux/macOS终端执行:
export MKL_ENABLE=0 - Windows CMD执行:
set MKL_ENABLE=0 - Windows PowerShell执行:
$env:MKL_ENABLE = 0
设置完成后在同个终端窗口内运行代码,numpy就不会调用MKL相关接口。
验证切换结果
安装或设置完成后,可运行以下代码确认numpy的后端配置:
import numpy as np np.__config__.show()
若输出中无Intel MKL相关标识,或BLAS/LAPACK后端显示为OpenBLAS,即说明配置生效。
内容的提问来源于stack exchange,提问作者user8965724
相关产品推荐
相关产品推荐

