Python 3.5.1 Version error: Unable to find vcvarsall.bat


원인

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를 통해 설치한다.

Back to blog