C/C++编译器“ cl.exe“出错:ProcessError: Command ‘[‘where‘, ‘cl‘]‘ returned non-zero exit status 1

在学习Pytorch过程中遇到subprocess.CalledProcessError,原因是缺少c++编译器cl.exe。解决方法是安装VS2017,并配置环境变量path, INCLUDE, LIB。添加相应路径后,通过运行vcvarall.bat激活cl.exe。验证成功后,重新启动Pycharm即可解决问题。
摘要由CSDN通过智能技术生成

一、问题描述:

在入手学习 Pytorch中,运行项目程序,报错如下:

subprocess.CalledProcessError: Command ‘[‘where‘, ‘cl‘]‘ returned non-zero exit status 1

向上回溯报错代码,发现

UserWarning: Error checking compiler version for cl: [ Error ]

查阅项目代码,发现里面有.cpp和.cu结尾的文件,意识到项目涉及到了c++和CUDA编程,所以需要c语言编译器来编译此部分代码

二、解决办法

  1. 安装VS2017(装CUDA时未绑定安装),某些资料上提示太新的VS版本易出现兼容问题,2017较为稳定;
  2. 为激活cl.exe,需在下图所示的“高级系统设置”中设置相应的环境变量,具体如3所示;
    在这里插入图片描述
  3. 环境变量需配置“path, INCLUDE, LIB “三项,分别如下:
  • 在path添加 (根据VS的安装路径决定,本人安装时选择了默认路径):

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE

  • 在INCLUDE里添加:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared

  • 在LIB里添加:

C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\ucrt\x64
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\um\x64

  1. 在VS安装路径”C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build “下,点击批处理程序vcvarall.bat (或cmd命令行输入.\vcvarall.bat )

三、验证cl.exe是否配置成功

”Win+R“打开cmd命令行,直接输入cl,若输出如下所示,则配置成功,再重启Pycharm运行项目程序,标题错误消失:

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值