想把Python2.7.9安装在Windows 10上,要经历过无数的坑,这应该是传统的大坑之一。网上有很多解决方法。我这里记录一下和网上不太一样的方法:通过通过安装Microsoft Visual C++ Compiler for Python 2.7 ,然后修改Python代码解决问题。
先总结网上说的三种此问题的解决方法:
1. 安装 mingw
2. 安装vs2010然后设置环境变量
3. 有人Python3下安装wheel后成功解决:见知乎https://www.zhihu.com/question/26857761,不过我是Python2,很不幸还是不行。
倒腾了一番后,解决方法如下:
一、 先找Root Reason
首先肯定了系统确实没有vcvarsall.bat!
然后调查发现Python的Lib\distutils\msvc9compiler.py中的find_vcvarsall()函数中,最终因为找不到路径,返回该错误码。
其中vcvarsall由productdir而来,productdir由toolsdir和toolskey生成,toolskey是环境变量,经调试,我这里toolskey为VS90COMNTOOLS
系统里根本没有VS90COMNTOOLS环境变量。
二、 不想因为装个Python就安装VS 2008或者2010。
经过搜索,可以通过安装Microsoft Visual C++ Compiler for Python 2.7 解决问题,安装之,系统中找了vcvarsall.bat,有进步,说明方向是正确的。安装后设置了VS90COMNTOOLS变量,指向Compiler 的路径。
这里注意安装环境变量后要重启MS Dos
三、 问题仍没最终解决,调试结果为productdir路径不对,后来想想,原来productdir的路径都是依照VS 2008的逻辑设置的。没有考虑到我这种懒得安装VS的情形。怎么办,修改代码,将productdir指向正确路径。完整的修改后find_vcvarsall()函数,只改了一行,问题解决!
四、在想是不是有空把这个问题issue发给Python,促使其完善代码哈。
本文转自zyypost,作者也是我,内容格式有微调。
领取专属 10元无门槛券
私享最新 技术干货