在pycharm运行stylegan2出现CUDA扩展编译错误记录

张开发
2026/4/15 8:09:30 15 分钟阅读

分享文章

在pycharm运行stylegan2出现CUDA扩展编译错误记录
问题1、Pycharm报错subprocess.CalledProcessError: Command ‘[‘where‘, ‘cl‘]‘ returned non-zero exit status解决办法https://blog.csdn.net/iiiiiiimp/article/details/126941469?fromshareblogdetailsharetypeblogdetailsharerId126941469sharereferPCsharesource2301_79942585sharefromfrom_link大多是环境配置出现了问题。验证是否解决在虚拟环境中输入cl看是报错还是输出版本信息。问题2报错AttributeError: module ‘distutils‘ has no attribute ‘_msvccompiler‘解决办法https://blog.csdn.net/L_Y_H110216/article/details/143270402?fromshareblogdetailsharetypeblogdetailsharerId143270402sharereferPCsharesource2301_79942585sharefromfrom_link降级setuptools即可。问题3报错ninja: build stopped: subcommand failed.排查结果(删除torch_extensions路径通常在C:\Users\lenovo\.cache\torch_extensions但我的在C:\\Users\\你的用户名\\AppData\\Local\\torch_extensions\\torch_extensions)如果上述排查条件都没有错意味着:编译器已经启动了但真正失败的原因被 ninja 屏蔽掉了。所以我查看了报错ninja时上面输出的一大堆信息发现error C1189: #error: -- unsupported Microsoft Visual Studio version!这一致命错误说我生成工具太高了只能2017-2022的。所以我卸载了2026版本安装了2022版本但是可以看到上面March 2026说明虽然它是22的但内容还是最新的26版的所以MSVC也是最新的问题还是不会解决。而那个MSVC v143不能取消勾选会弹出C CMake工具也会随之取消勾选这是不行的。所以把下面MSVC v141勾选上这样会有两个MSVC版本的而14.16的可以使用。但是我在Developer Command Prompt for VS 2022再次运行时还是会报ninja错误。然后我在刷屏很多的那些东西中让AI找到了这次的报错点是error C3861: “_addcarry_u64”: 找不到标识符以及编译器输出显示你当前用的是“用于 x86 的 Microsoft C/C 编译器”cl 报的是 x86 版本。于是我在“Developer Command Prompt for VS 2022” 运行 vsdevcmd -archamd64 来启用 amd64接下来都是在该x64命令行中激活虚拟环境并运行脚本的。但是在该x64命令行查看cl发现CUDA/nvcc还是没有自动使用14.16低版本的MSVC所以我就手动激活14.16版本即call C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvarsall.bat x64 -vcvars_ver14.16set MAX_JOBS1python e4e_w_plus.py------------这个是运行我的脚本。到这里ninja问题算是解决了在此给自己也给大家一个忠告不能不相信AI但也不要尽信AI有问题有疑问想找东西可以先来CSDN或其他讨论网站自己先搜索一下有时候一个网友的看似不起眼的解决办法都比跟着AI搞来搞去最后还没解决的强而且不要只依赖一个AI可以同时使用多个AI你就会发现每个AI各自有各自擅长的地方。

更多文章