Python 3.5.1 Version error: Unable to find vcvarsall.bat
By on October 25, 2016
원인
Windows 환경에서 Native Python Code가 아닌, CPython으로 만든 Library(Numpy, lxml 등의 library의 경우, pip install #plugin으로 설치 할 경우 위의 오류가 발생한다. 해당 컴퓨터에 C Compiler가 없을 경우 발생한다.
해결책
-
Python 2.7 – https://www.microsoft.com/en-us/download/confirmation.aspx?id=44266에서 Microsoft Visual C++ Compiler for Python 2.7를 다운 받는다.
-
Python 3.5.1 – Python 3버전에서는 우선 자신의 MSC_VERSION에 따라 아래의 표를 통해 자신에게 필요한 Visual C++ 버전을 확인 한다. 명령 프롬포트에서 python이라고 치면 된다. – Visual C++ 4.x MSC_VER=1000
– Visual C++ 5 MSC_VER=1100
– Visual C++ 6 MSC_VER=1200
– Visual C++ .NET MSC_VER=1300
– Visual C++ .NET 2003 MSC_VER=1310
– Visual C++ 2005 (8.0) MSC_VER=1400
– Visual C++ 2008 (9.0) MSC_VER=1500
– Visual C++ 2010 (10.0) MSC_VER=1600
– Visual C++ 2012 (11.0) MSC_VER=1700
– Visual C++ 2013 (12.0) MSC_VER=1800
– Visual C++ 2015 (14.0) MSC_VER=1900
Python 3.5.1의 경우, MSC_VER = 1900이므로, https://www.microsoft.com/en-us/download/details.aspx?id=48145에서 visual c++ Redistributable2015 버전을 설치한다. 이후 pip install을 하면 정상적으로 작동함을 알 수 있다.
추가적인 오류: lxml의 경우, 위의 compiler를 설치 한 후에도 문제가 발생한다. set STATICBUILD=True && pip install lxml를 통해 설치한다.