问题描写叙述:
64位win7中使用vs2013为python3.4.2安装pycrypto-2.6.1插件报Unable to find vcvarsall.bat。
问题分析:
1、源代码分析,查找python源代码distribut模块中出现Unable to find vcvarsall.bat的位置。在msvc9compiler.py文件里find_vcvarsall方案处出现。经分析可知python是通过python自身使用的vs编译版号(3.4.2版本号用的是vs2010)来获取相应的vcvarsall.dat文件路径,当注冊表中找不到时会到系统环境变量中查找VS100COMNTOOLS的值。若查找失败则会报错。
解决方式:
若系统环境变量中不存在VS100COMNTOOLS时,新建一个,把值设为vs2013中vcvarsall.dat文件文件夹(安装文件夹+VC)。比如D:ProgramingVS2013VC。
然后又一次安装pycrypto-2.6.1就可以。其它版本号处理思路类似。最简单方案:安装vs2010后再安装。
解决这个问题的思路是。查看错误输出。到python源代码中加入调试代码,比如raise Exception查看中间变量再继续调试分析。