본문 바로가기
카테고리 없음

windows에서 pip를 이용한 python 패키지 설치 문제.

by DogBull 2015. 6. 9.

1. 문제

MS윈도우에서 추가적인 python package가 필요한 경우, http://www.lfd.uci.edu/~gohlke/pythonlibs/에서 바이너리를 직접 받아 설치해도 되지만 특정 버전이 필요하다거나, 원하는 패키지가 없을 경우 직접 컴파일하여 설치해야 한다.

문제는 pip를 이용해서 python 패키지를 설치할 때, 아래의 그림과 유사한 컴파일러 관련 오류 메시지와 마주치게 된다는 것이다.



맥이나 리눅스 OS에서는 편리하게 할 수 있으나 윈도우 OS에서는 조금 번거 롭니다.

2. 해결

error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat). Get it from http://aka.ms/vcpython27
위 에러 메시지 대로 http://aka.ms/vcpython27로 이동하여 Microsoft Visual C++ Compiler for Python 2.7를 설치하면 된다.

다른 버전의 python 패키지를 컴파일 하려면 어떻게 해야할까?

http://stackoverflow.com/questions/19830942/pip-install-gives-error-unable-to-find-vcvarsall-bat에 논의된 바와 같이, Python [2.6, 3.2] 는 VS2008이 필요하고(VS2008없이, Microsoft Visual C++ Compiler for Python 2.7로 해결할 수 있을 듯. 확인필요.) Python [3.3, 3.4]는 VS2010이 필요하다.

또는


"파이썬 설치 경로"/Lib/distutils/msvc9compiler.py 파일을 열어보면 아래와 같은 라인을 찾을 수 있다.

VERSION = get_build_version()

이를 아래와 같이 변경한다.

VERSION = 12.0

위와 같이 12.0으로 변경 했을 경우 Visual Studio 12.0(express 버전도 상관 없음)이 설치되어 있어야 하며, 다른 버전의 Visual Studio가 설치되어 있을 경우 적당한 값 기입하면 된다.

런타임 문제를 일으킬 가능성이 있다고 하지만, 필요한 모든 Visual Studio를 설치할 수고를 하는 것 보다 테스트차 이 방법을 쓰는 것도 괜찮을 듯 하다.