安装Magenta使用WaveNet失败:python-rtmidi等编译错误求助
解决Magenta/WaveNet安装中的numba、python-rtmidi编译及路径问题
错误1:numba构建失败 - ImportError: cannot import name 'Log' from 'distutils.log'
这是高版本setuptools与numpy.distutils不兼容导致的——setuptools整合distutils后移除了旧的Log类。
解决步骤:
- 降级setuptools到兼容版本:
pip install setuptools==58.0.4 - 或者强制使用Python标准库中的distutils,设置环境变量后再安装:
SETUPTOOLS_USE_DISTUTILS=stdlib pip install numba
错误2:python-rtmidi编译失败 - 找不到exception头文件
这是本地缺少完整C++编译环境,或VS Build Tools配置不全导致的。
解决步骤:
- 直接安装预编译的wheel包,跳过编译环节:
pip install python-rtmidi --only-binary :all: - 如果必须编译,安装Visual Studio Build Tools并勾选C++桌面开发组件(需包含MSVC编译器和C++标准库),重启终端后再尝试安装。
错误3:系统在不存在的路径查找包
这是pip缓存残留或虚拟环境路径异常导致的。
解决步骤:
- 清理pip缓存:
pip cache purge - 重建虚拟环境(推荐Python3.9,适配Magenta依赖):
- 删除旧环境:
conda remove -n venv --all - 创建新环境:
conda create -n magenta_env python=3.9 - 激活新环境:
conda activate magenta_env - 重新安装Magenta及依赖:
pip install magenta
- 删除旧环境:
推荐完整安装流程
- 激活新建的虚拟环境
- 降级setuptools:
pip install setuptools==58.0.4 - 安装预编译依赖:
pip install numba==0.56.4 llvmlite==0.39.1 python-rtmidi --only-binary :all: - 安装Magenta:
pip install magenta
内容的提问来源于stack exchange,提问作者Henry Zhang
相关产品推荐
相关产品推荐

