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即可。其他版本处理思路类似。最简单方案:安装vs2010后再安装。

解决问题的思路是,查看错误输出,到python源码中添加调试代码,例如raise Exception查看中间变量再继续调试分析。

你可能感兴趣的:(64位,vcvarsall.bat,python3.4,VS2013,pycrypto-2.6.1)