error: Unable to find vcvarsall.bat
error: Unable to find vcvarsall.bat
error: Unable to find vcvarsall.bat
Re: error: Unable to find vcvarsall.bat
***Update**: Comments point out that the instructions here may be dangerous. Consider using the Visual C++ 2008 Express edition or the purpose-built [Microsoft Visual C++ Compiler for Python](http://www.microsoft.com/en-us/download/details.aspx?id=44266) ([details](/a/26127562/2778484)) and **NOT** using the original answer below. Original error message means the required version of Visual C++ is not installed.*
For Windows installations:
While running setup.py for package installations, Python 2.7 searches for an installed Visual Studio 2008. You can trick Python to use a newer Visual Studio by setting the correct path in `VS90COMNTOOLS` environment variable before calling `setup.py`.
Execute the following command based on the version of Visual Studio installed:
- Visual Studio 2010 (VS10): `SET VS90COMNTOOLS=%VS100COMNTOOLS%`
- Visual Studio 2012 (VS11): `SET VS90COMNTOOLS=%VS110COMNTOOLS%`
- Visual Studio 2013 (VS12): `SET VS90COMNTOOLS=%VS120COMNTOOLS%`
- Visual Studio 2015 (VS14): `SET VS90COMNTOOLS=%VS140COMNTOOLS%`
WARNING: As noted below, this answer is unlikely to work if you are trying to compile python modules.
See [Building lxml for Python 2.7 on Windows](https://stackoverflow.com/questions/3047542) for details.
For Windows installations:
While running setup.py for package installations, Python 2.7 searches for an installed Visual Studio 2008. You can trick Python to use a newer Visual Studio by setting the correct path in `VS90COMNTOOLS` environment variable before calling `setup.py`.
Execute the following command based on the version of Visual Studio installed:
- Visual Studio 2010 (VS10): `SET VS90COMNTOOLS=%VS100COMNTOOLS%`
- Visual Studio 2012 (VS11): `SET VS90COMNTOOLS=%VS110COMNTOOLS%`
- Visual Studio 2013 (VS12): `SET VS90COMNTOOLS=%VS120COMNTOOLS%`
- Visual Studio 2015 (VS14): `SET VS90COMNTOOLS=%VS140COMNTOOLS%`
WARNING: As noted below, this answer is unlikely to work if you are trying to compile python modules.
See [Building lxml for Python 2.7 on Windows](https://stackoverflow.com/questions/3047542) for details.