64位win7中使用vs2013为python3.4安装pycrypto-2.6.1插件报Unable to find vcvarsall.bat异常解决方案
问题描述:
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:\Programing\VS2013\VC。然后重新安装pycrypto-2.6.1即可。其他版本处理思路类似。
解决问题的思路是,查看错误输出,到python源码中添加调试代码,例如raise Exception查看中间变量再继续调试分析。
文章来自:http://blog.csdn.net/xiluoduyu/article/details/44222335