64位win7中使用vs2013为python3.4安装pycrypto-2.6.1插件报Unable to find vcvarsall.bat异常解决方案

来源:互联网 发布:中世纪2全面战争mac版 编辑:程序博客网 时间:2024/06/06 07:16

问题描述:

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查看中间变量再继续调试分析。

0 0