最新消息:

编译Python的C语言扩展的错误:Unable to find vcvarsall.bat

软件开发 王杭州 7938浏览 1评论 [编辑]

编译Python的C语言扩展的动态链接库时,输入如下命令。c:\path\to\python_c_extention_src>python setup.py  build_ext –inplace

遇到错误 Unable to find vcvarsall.bat

这是因为,在默认情况下,Python 2.7使用Visual Studio 2008作为编译环境,而在实际情况下,我们可能使用了更高版本的Visual Studio环境。我们可以修改Python2.7的设置,来使用对应的Visual Studio开发环境。我们也可以修改环境变量将新版本的变量赋各位老版本的环境变量,具体如下:

如果正在使用Visual Studio 2010,那么在编译C语言扩展库之前,先执行

SET VS90COMNTOOLS=%VS100COMNTOOLS%

如果正在使用Visual Studio 2012 (Visual Studio Version 11),那么执行

SET VS90COMNTOOLS=%VS110COMNTOOLS%

如果正在使用Visual Studio 2013 (Visual Studio Version 12),那么执行

SET VS90COMNTOOLS=%VS120COMNTOOLS%

上述方法参考了网站内容:http://stackoverflow.com/questions/2817869/error-unable-to-find-vcvarsall-bat

经过分析我们可以知道,这里遇到的错误是由Visual Studio版本不统一造成的,还有一个解决方案,就是使用MinGW来编译Python的C语言扩展,具体在Python编译的命令最后添加选项–compiler=mingw32,完整形式如下:

c:\path\to\python_c_extention_src>python setup.py  build_ext –inplace –compiler=mingw32

或者c:\path\to\python_c_extention_src>python setup.py  build_ext –inplace -c mingw32

转载请注明:王杭州的个人网页 » 编译Python的C语言扩展的错误:Unable to find vcvarsall.bat

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. 老大。看你每个月都有在更新呀。。赞一个。
    wangbin11年前 (2014-03-17)回复 - (编辑)