Windows10 64位环境安装COCO API时提示vcvarsall.bat缺失
解决COCO API安装时"Unable to find vcvarsall.bat"的问题
这个错误本质是Python 3.5在编译C扩展(也就是pycocotools的_mask模块)时,找不到Visual Studio的编译环境脚本。因为你卸载了VS2015并安装了VS2017,而Python 3.5默认会优先查找VS2015的编译工具,导致匹配失败。下面是几个可行的解决方法:
方法一:手动指定VS2017的编译环境
- 打开Visual Studio 2017的开发者命令提示符(注意要选对应你系统的版本:x64 Native Tools Command Prompt for VS 2017)
- 在这个命令提示符里,导航到你的
cocoapi/PythonAPI目录 - 直接执行
python setup.py build_ext --inplace,不用再用make命令(毕竟make是类Unix环境的命令,Windows下兼容性不好)
方法二:配置环境变量让Python识别VS2017
- 右键点击「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在系统变量里新建一个变量:
- 变量名:
VS150COMNTOOLS - 变量值:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\(如果你的VS2017装在其他路径,替换成对应的实际路径)
- 变量名:
- 保存后,重启你的命令提示符(或者IDE),再回到
cocoapi/PythonAPI目录执行python setup.py build_ext --inplace
方法三:使用conda安装预编译的pycocotools(更省心)
如果你用conda环境的话,可以直接跳过编译步骤,安装现成的包:
conda install -c conda-forge pycocotools
这样就不用折腾编译环境的配置,直接就能用pycocotools。
另外提一句,Python 3.5已经是比较老的版本了,如果后续还遇到其他依赖兼容问题,考虑升级到Python 3.7+会顺畅很多,不过当前的问题用上面的方法应该就能解决。
内容的提问来源于stack exchange,提问作者Interested Programmer
相关产品推荐
相关产品推荐

