Windows11+CUDA11.2环境安装Detectron2失败求助
解决Detectron2在Windows11下的编译安装问题
1. 修正PyTorch与CUDA版本不匹配问题
当前你安装的是适配CUDA 11.3的PyTorch,但系统CUDA版本为11.2,版本不匹配会导致编译冲突,先调整PyTorch版本:
- 卸载现有PyTorch组件:
pip uninstall torch torchvision torchaudio -y - 安装适配CUDA 11.2的PyTorch版本:
pip install torch==1.12.1+cu112 torchvision==0.13.1+cu112 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu112
2. 解决Visual Studio版本兼容问题
CUDA 11.2仅支持Visual Studio 2017/2019的编译器,若你当前使用的是VS2022或更高版本,可通过以下两种方案处理:
方案一:安装VS2019构建工具(推荐)
- 下载VS2019的Build Tools安装包,选择「Desktop development with C++」组件,务必勾选MSVC v142工具集(对应VS2019)和适配的Windows SDK(建议选10.0.19041.0及以上版本)。
- 安装完成后,在命令行中指定使用该编译器(路径需根据实际安装位置调整):
set "CMAKE_C_COMPILER=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe" set "CMAKE_CXX_COMPILER=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe"
方案二:修改CUDA头文件跳过版本检查(不推荐,存在潜在兼容性风险)
- 打开报错的头文件:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\include\crt/host_config.h - 找到第160行附近的版本检查代码,注释掉
#error行,并修改版本判断范围:// 注释掉原错误提示 //#error -- unsupported Microsoft Visual Studio version! Only the versions between 2017 and 2019 (inclusive) are supported! // 修改版本判断条件,允许VS2022(_MSC_VER=1930+) #if _MSC_VER < 1910 || _MSC_VER > 1939
3. 安装缺失的Ninja构建工具
编译Detectron2依赖Ninja,直接通过pip安装:
pip install ninja
4. 重新执行Detectron2安装
完成上述配置后,在命令行中重新运行安装命令:
python -m pip install -e detectron2-computer-vision
若仍出现cl编译器检查失败,可尝试打开VS2019 x64 Native Tools Command Prompt,激活conda环境后再执行安装命令,确保编译器环境变量已正确加载。
内容的提问来源于stack exchange,提问作者Utkarsha Khanal
相关产品推荐
相关产品推荐

