如何在Python 3.9(及3.7+版本)安装MXNET库?
Python 3.9环境下MXNet手动安装流程(虚拟环境内)
优先方案:安装适配Python3.9的MXNet新版本
MXNet 1.9.0及后续版本已支持Python3.9,且放宽了numpy依赖要求(兼容1.21及以上版本),无需局限于旧版依赖:
- 创建并激活Python3.9虚拟环境:
# 创建虚拟环境 python3.9 -m venv mxnet_env # Linux/macOS激活环境 source mxnet_env/bin/activate # Windows激活环境 mxnet_env\Scripts\activate - 安装适配版本(CPU版示例):
若需GPU支持,根据CUDA版本选择对应包,例如CUDA 11.1版本:pip install mxnet==1.9.0 numpy>=1.21pip install mxnet-cu111==1.9.0 numpy>=1.21
强制使用旧版MXNet的手动编译流程
若必须依赖numpy 1.16-1.18的旧版MXNet,需手动编译源码适配Python3.9:
1. 准备编译依赖
激活虚拟环境后安装基础依赖:
# 强行安装numpy 1.18.5(虽官方标注仅支持Python3.6,但编译MXNet可正常使用) pip install cython setuptools wheel numpy==1.18.5 # Linux系统安装编译工具(Ubuntu为例) sudo apt-get install build-essential git libopenblas-dev libopencv-dev # Windows需安装Visual Studio Build Tools,并勾选C++开发组件
2. 拉取MXNet源码并切换目标版本
git clone --recursive https://github.com/apache/mxnet.git cd mxnet # 切换到需要的旧版本,比如1.8.0(依赖numpy 1.16-1.18) git checkout 1.8.0 git submodule update --init --recursive
3. 配置编译参数
在mxnet根目录创建config.mk,写入以下配置:
# 启用Python支持 USE_PYTHON = 1 # 指定虚拟环境内的Python路径 PYTHON_BIN_PATH = $(which python) PYTHON_INCLUDE_PATH = $(shell $(PYTHON_BIN_PATH) -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") PYTHON_LIB_PATH = $(shell $(PYTHON_BIN_PATH) -c "import distutils.sysconfig as sysconfig; print(sysconfig.get_config_var('LIBDIR'))") # 使用OpenBLAS加速计算 USE_BLAS = openblas # 按需开启GPU支持(默认关闭) USE_CUDA = 0 USE_CUDNN = 0
4. 开始编译
# Linux/macOS:根据CPU核心数并行编译,示例为4核心 make -j4 # Windows:在Visual Studio命令提示符中执行 nmake
5. 安装编译产物
编译完成后进入Python包目录安装:
cd python pip install -e .
解决wheel安装停滞问题
之前安装wheel停滞多因网络或包不兼容,可尝试:
- 切换国内PyPI镜像源加速安装:
pip install mxnet==1.8.0 numpy==1.18.5 -i https://pypi.tuna.tsinghua.edu.cn/simple - 旧版MXNet官方无Python3.9兼容wheel,若需跳过编译,可寻找第三方编译的适配包(注意校验包安全性)
内容的提问来源于stack exchange,提问作者Captain C
相关产品推荐
相关产品推荐

