使用Anaconda安装mxnet时遭遇legacy-install-failure错误求助
解决Anaconda环境下
pip install mxnet的legacy-install-failure问题 问题核心分析
错误根源是mxnet依赖的旧版numpy(<1.17.0)在Windows环境下编译失败,具体诱因:
- 旧版numpy对VC++ Build Tools的组件要求更严格,仅安装基础工具可能不满足
- Windows原生缺失BLAS、LAPACK这类数学库,旧版numpy编译必须依赖它们
- Windows默认无Fortran编译器,旧版numpy部分核心代码需要Fortran编译支持
针对性解决方案
1. 用conda预安装兼容的旧版numpy
利用Anaconda的预编译包跳过numpy编译步骤:
conda install numpy=1.16.6
完成后再执行mxnet安装:
pip install mxnet
2. 直接安装预编译的mxnet wheel包
绕开源码编译,直接用对应环境的预编译包:
- 确认你的Python版本(如3.7、3.8)和系统位数(64位)
- 下载匹配numpy<1.17.0要求的mxnet wheel包(例如
mxnet-1.6.0-cp37-none-win_amd64.whl) - 执行本地安装:
pip install ./mxnet-xxx.whl
3. 补全Fortran编译环境(可选,复杂度高)
若坚持源码编译,需安装MinGW-w64提供Fortran支持:
- 安装MinGW-w64时勾选
gfortran组件 - 将MinGW的
bin目录添加到系统PATH环境变量 - 重新执行安装命令:
pip install mxnet --no-use-pep517 --no-cache-dir
4. 降级Python版本适配旧版mxnet
旧版mxnet对Python 3.7的兼容性更好,可新建适配环境:
conda create -n mxnet_env python=3.7 conda activate mxnet_env pip install mxnet
验证安装
安装完成后,在Python环境中测试:
import mxnet as mx print(mx.__version__)
内容的提问来源于stack exchange,提问作者thestruggleisreal
相关产品推荐
相关产品推荐

