Windows10下Python3.10安装mlagents时numpy编译失败求助
解决mlagents安装时numpy编译失败的问题
核心问题拆解
- NumPy 1.21.2本身不兼容Python 3.10,mlagents的旧依赖规则可能强制拉取这个版本,导致pip尝试编译不兼容的源码包
- Windows系统默认没有BLAS/LAPACK库,缺失这类依赖会直接导致numpy编译失败
- 之前的pip缓存清理操作不彻底,仍会复用旧的numpy缓存文件
分步解决办法
1. 先装兼容版numpy再装mlagents
手动指定适配Python3.10的numpy版本(1.23.0及以上都支持),同时禁用缓存确保下载最新二进制包:
py -m pip install numpy>=1.23.0 --no-cache-dir py -m pip install mlagents --no-cache-dir
--no-cache-dir会彻底绕过pip缓存,避免再次拉取旧版numpy源码。
2. 彻底清理pip缓存
如果之前清理缓存没生效,执行以下命令彻底清空缓存:
# 先查看pip缓存的具体路径 py -m pip cache dir # 手动删除该路径下的所有文件,或者用命令一键清理 py -m pip cache purge
清理完成后再执行安装命令,确保不会复用旧缓存。
3. 解决BLAS/LAPACK依赖缺失
Windows下无需手动编译BLAS/LAPACK,只要通过pip安装预编译的numpy wheel包即可。如果还是触发编译,可直接去PyPI下载对应Python3.10的numpy wheel文件(文件名格式为numpy-xxx-cp310-win_amd64.whl),然后本地安装:
py -m pip install 你的wheel文件路径\numpy-xxx-cp310-win_amd64.whl
4. 补全VC++编译环境
确认安装的是Visual Studio Build Tools(而非仅运行时库),安装时勾选"C++ build tools"组件,确保编译环境完整。
5. 指定兼容的mlagents版本
如果最新版mlagents仍强制依赖旧numpy,可尝试安装对Python3.10更友好的版本:
py -m pip install mlagents==0.30.0 --no-cache-dir
内容的提问来源于stack exchange,提问作者Bobbete2003
相关产品推荐
相关产品推荐

