Windows10 Python3.6.8环境安装NVIDIA apex失败报错如何解决?
修复Windows 10环境下NVIDIA apex编译安装报错方案
1. 编译环境匹配校验
- 执行
python -c "import torch;print(torch.version.cuda)",确认输出的CUDA版本与系统全局安装的CUDA大版本完全一致,Python 3.6.8支持的最高PyTorch版本为1.10.x,对应最高适配CUDA版本为11.3,禁止使用更高版本CUDA。 - Windows下编译CUDA扩展必须安装Visual Studio 2019社区版,安装时勾选「使用C++的桌面开发」组件,禁止使用VS2022,旧版本CUDA不兼容VS2022编译链。
- 所有后续安装命令必须在「x64 Native Tools Command Prompt for VS 2019」终端中执行,禁止使用普通cmd或PowerShell,避免编译链找不到的问题。
2. Python ABI警告处理
日志中出现的Py_DEBUG、WITH_PYMALLOC未配置警告为官方预编译Python版本的正常现象,不会直接导致安装失败,执行安装命令前先在终端设置临时环境变量即可规避相关校验:
set DISTUTILS_USE_SDK=1 set MSSdk=1
如果仍出现ABI相关报错,可换用conda安装的Python 3.6版本,conda版本默认已完成相关变量配置。
3. 调整apex安装流程
最新版apex已停止支持Python 3.6与旧版本CUDA,需切换到兼容分支后安装:
- 进入已拉取的apex源码目录,执行命令切换到兼容版本:
git checkout 22.04-dev - 直接调用setup.py编译安装,避免pip全局参数传递异常:
python setup.py install --cpp_ext --cuda_ext
如果不需要最高性能的编译扩展,可安装纯Python版本适配所有环境:pip install -v --no-cache-dir .
4. 失败残留清理
多次安装失败需先清理残留文件,避免干扰后续安装:
- 执行
pip uninstall apex卸载所有已安装的不完整apex包 - 删除
C:\Users\popie\AppData\Local\Temp路径下所有带pip-req-build前缀的临时文件夹 - 清空apex源码目录下的build文件夹,或直接删除apex目录重新拉取源码
内容的提问来源于stack exchange,提问作者Artism
相关产品推荐
相关产品推荐

