python Unable to find vcvarsall.bat
2016-03-16 00:24
639 查看
完美解决 Unable to find vcvarsall.bat 问题。
以 python2.7为例子。
下载 VS2010.然后安装。或者 大于 VS2008 的其他版本。具体情况,试所需编译的 py版本。比如 py2.3的用的是 vc6++。
VS2010安装好以后,网上大部分说可以设置环境变量 VS90COMNTOOLS = %VS100COMNTOOLS%,或者将VS90COMNTOOLS 设置成,VS2010安装目录下面的 VS路径,比如
D:\Program Files\Microsoft Visual Studio 10.0\VC;
在实践的过程照此实验多次,发现大部分是坑。
主要原因有两个 ,第一个 %VS100COMNTOOLS% 这个环境变量所指的方向就不对 ,其指向的地址为 D:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools。
第二个 在环境变量中设置了 VS90COMNTOOLS = “D:\Program Files\Microsoft Visual Studio 10.0\VC” 也无效。
最后还是采用暴力破解:
原理:安装程序或者用Cython来编译.py 文件的时候,会用到 ,python 库中的 D:\Python27\Lib\distutils 模块。来对.py扩展进行编译程 .dll
在此模块下 找到 msvc9compiler.py 文件 ,然后 打开该文件 搜索 “Unable to find vcvarsall.bat” ,此时会定位到两个地方。
第一个是 259 行的 log.debug("Unable to find vcvarsall.bat ") 看上面有一个 if os.path.isfile(vcvarsall): 判断是否为文件。
还有一处是 269 raise DistutilsPlatformError("Unable to find vcvarsall.bat") //此处就是你在 cmd 黑色的屏幕中看到的 那句 Unable to find vcvarsall.bat。
因此可以定位到 问题就处在这里。 看前面判断的是 if vcvarsall is None: 说明 之前那个判断 if os.path.isfile(vcvarsall) 是 false, 因此可以不用管前面 ,直接在 268 处 插入
vcvarsall = r'D:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat' //此文件的全路径 根据安装的 VS路径来确定。
至此ok,在安装或者编译 程序。就ok了。
刚开始的按照网上的 暴力破解 243 行的 toolskey ,将其设置为 D:\Program Files\Microsoft Visual Studio 10.0\VC,测试很久无效。其实主要原因还是出在 isfile的判断上面。是否是因为 路径名中 间 有空格,导致 isfile判断出错。尚未测试。
以 python2.7为例子。
下载 VS2010.然后安装。或者 大于 VS2008 的其他版本。具体情况,试所需编译的 py版本。比如 py2.3的用的是 vc6++。
VS2010安装好以后,网上大部分说可以设置环境变量 VS90COMNTOOLS = %VS100COMNTOOLS%,或者将VS90COMNTOOLS 设置成,VS2010安装目录下面的 VS路径,比如
D:\Program Files\Microsoft Visual Studio 10.0\VC;
在实践的过程照此实验多次,发现大部分是坑。
主要原因有两个 ,第一个 %VS100COMNTOOLS% 这个环境变量所指的方向就不对 ,其指向的地址为 D:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools。
第二个 在环境变量中设置了 VS90COMNTOOLS = “D:\Program Files\Microsoft Visual Studio 10.0\VC” 也无效。
最后还是采用暴力破解:
原理:安装程序或者用Cython来编译.py 文件的时候,会用到 ,python 库中的 D:\Python27\Lib\distutils 模块。来对.py扩展进行编译程 .dll
在此模块下 找到 msvc9compiler.py 文件 ,然后 打开该文件 搜索 “Unable to find vcvarsall.bat” ,此时会定位到两个地方。
第一个是 259 行的 log.debug("Unable to find vcvarsall.bat ") 看上面有一个 if os.path.isfile(vcvarsall): 判断是否为文件。
还有一处是 269 raise DistutilsPlatformError("Unable to find vcvarsall.bat") //此处就是你在 cmd 黑色的屏幕中看到的 那句 Unable to find vcvarsall.bat。
因此可以定位到 问题就处在这里。 看前面判断的是 if vcvarsall is None: 说明 之前那个判断 if os.path.isfile(vcvarsall) 是 false, 因此可以不用管前面 ,直接在 268 处 插入
vcvarsall = r'D:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat' //此文件的全路径 根据安装的 VS路径来确定。
至此ok,在安装或者编译 程序。就ok了。
刚开始的按照网上的 暴力破解 243 行的 toolskey ,将其设置为 D:\Program Files\Microsoft Visual Studio 10.0\VC,测试很久无效。其实主要原因还是出在 isfile的判断上面。是否是因为 路径名中 间 有空格,导致 isfile判断出错。尚未测试。
相关文章推荐
- Mac 下 Python os.listdir 出现 invalid literal for int() with base 10 错误
- Python学习笔记(2):函数的使用
- Python3中的真除和Floor除法用法分析
- Python使用tablib生成excel文件的简单实现方法
- python CGI--学习1
- python-CGI学习2
- python3-CGI学习3
- python获取及时可用国外高匿名代理
- python连接mysql数据库
- Python3.X教程 保存在这留作参考
- Python实现决策树算法 C4.5和ID3算法
- python学习之常用的内置类(4):python中的XML
- python 爬虫——针对query爬取百度百科页面
- windows环境中python3.5下安装paramiko
- python PIL 操作图片
- iPython的安装过程
- PythonChallenge Mission 13
- RHEL6.5下更新python至2.7版本
- Python基础--流程控制
- Python基础--流程控制