python3.5 Unable to find vcvarsall.bat

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Gitoo1993/article/details/78277478

在做cs231n assignment2时,使用im2col遇到了这个问题,网上查询了很多解决方法后也没解决,于是参考了下给出了自己的解决方案,在知乎回答了这个问题,直接复制过来吧:

搞了半天终于解决了。。。许多方法都是直接安装对应的vs版本,但是我完成这一步后还是提示错误,于是看了下代码,原因是它是通过注册表来获得文件路径的,但是vs在安装后好像没有注册该路径???于是自己把路径粘贴复制过去了,以下是步骤:

1.下载对应的vs版本

借用一下error: Unable to find vcvarsall.bat中的一个答案:

查看编译版本


对照下载安装:

MSC v.1000 -> Visual C++ 4.x
MSC v.1100 -> Visual C++ 5
MSC v.1200 -> Visual C++ 6
MSC v.1300 -> Visual C++ .NET
MSC v.1310 -> Visual C++ .NET 2003
MSC v.1400 -> Visual C++ 2005 (8.0)
MSC v.1500 -> Visual C++ 2008 (9.0)
MSC v.1600 -> Visual C++ 2010 (10.0)
MSC v.1700 -> Visual C++ 2012 (11.0)
MSC v.1800 -> Visual C++ 2013 (12.0)
MSC v.1900 -> Visual C++ 2015 (14.0)
MSC v.1910 -> Visual C++ 2017 (15.0)

安装勾选时注意下,否则根本没有vcvarsall.bat文件


2.直接修改代码中的路径

找到这个文件,我用的Anaconda,路径为C:\Program Files\Anaconda3\Lib\distutils\


打开编辑,仔细阅读_find_vcvarsall(plat_spec)函数你会发现它的文件路径是通过注册表获得的,但是照着路径看了下注册表,emmm,根本没有。那既然只是个路径,自己改不就好了吗,我是python3.5,对应下载了vs2015,文件路径是C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat,于是注释掉代码中获取路径的部分,加上这句,保存,大功告成。




猜你喜欢

转载自blog.csdn.net/Gitoo1993/article/details/78277478