最近正在学习pytorch-CUDA并行,跑这位大神的代码https://github.com/godweiyang/NN-CUDA-Example, 因为我没有学过C++,电脑上没有安装相关的库和环境等,所以跑的时候报了一些错,所以记录一下。

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

这个错在网上搜索到一些文档,如下:

https://github.com/HRNet/HRNet-Semantic-Segmentation/issues/39  这里面的解决方案在这个链接里:http://github.tbz.io/Blog/17/04/CL_CL_VS17.html

遇到第一个问题:C:\Program Files (x86)\Microsoft Visual Studio\2017\Community 找不到

原来是已经装过2017,卸载了,现在是装的是2019,去了对应位置找,但是找不到这个文件夹,原来在第一次创建2017的时候,是默认安装的,于是安装在了这个地方C:\Program Files (x86)\Microsoft Visual Studio\2017\Community,但是第二次是自定义安装在D:\software\VScode2022。所以其实就是在自定义安装的位置找即可

遇到第二个问题:安装x64还是x86?检查了一下我的电脑是64位,所以选择了x64

遇到第三个问题:环境变量,添加的时候,加分号吗?

如果是第一种,一次性加一堆的情况,多个变量之间要加分号,最后一个结尾不需要分号。

如果是第二种,一次加一个,是不需要在结尾加分号的。

环境变量为什么加分号_百度知道

遇到第三个问题:添加path这个环境变量的时候报错:环境变量添加:此环境变量太大, 此对话框允许将值设置为最长2047个字符

按照环境变量添加:此环境变量太大, 此对话框允许将值设置为最长2047个字符_ 蜗牛在听雨的博客-CSDN博客_此环境变量太大,此对话框允许

 我把CUDA单独分出来了,。。。但是不知道会不会以后报错。。。在此记录一下以防忘掉

遇到第四个问题:C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86; 电脑对应位置没有8.1!或者说里面是空的。。。于是去Microsoft下载了8.1的对应SDK。Windows SDK archive - Windows app development

就对应位置安装就好,然后那个位置就有这个了。

遇到第五个问题:按照上面提到的链接:cl.exe 环境变量配置(vs2017) - TheBadZhang 

试完,还是没有成功,依然报一样的错误,按照链接的测试方法,cmd输入cl也表示没有此文件。于是又找到了第二个链接:

Win10+Pytorch1.0编译并训练语义分割网络DANet(双注意力机制)_SeeIdea的博客-CSDN博客_danet代码

其中对应的解决的链接是Windows10下配置VS2017环境变量_Kaige_Zhao的博客-CSDN博客_vs2017环境变量配置

还是没有解决,于是按照配置VS2017变量又去搜索,这个链接要添加的环境变量更多了

Windows10下配置VS2017 环境变量_qing666888的专栏-CSDN博客_vs2017配置环境变量

还是没有成功,我怀疑是需要先运行一下VS2022,让他接受一下我新教的环境变量,所以创建了一个Python文件跑了一下,OK。

还是没有成功,于是我尝试把所有版本的都加进去,又把x86的也加进去,再重启电脑(前面也有多次重启电脑。。这不是第一次重启)最后成功了!但是奇怪的是,成功之后,我再打开path等变量,试图删掉x86试试看会不会影响,但是里面的x86居然消失了!?综上所述,我怀疑x64是没错的,可能只是电脑还需要一点时间来反应。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐