ITS's Dev Story

내가 만든 소스코드를 실험해 보기 위해 TreePlotter 모듈을 만들어 컴파일했는데 이렇게 에러가 났다.

ImportError : No moudle named matplotlib

에러 : matplotlib 모듈이 없습니다!!!

왜 이런 에러가 날까? 내가 짠 TreePlotter 모듈의 소스코드를 일부부분만 공개한다.

-------------------------------------------------------------------------------------------

* Numpy 기계학습의 모든 문서는 제가 머신러닝을 공부하고, 제 프로젝트에 필요한 알고리즘을 찾기 위해 정리하는 일종의 '요점정리 노트' 입니다. 혹여나 오해 없으시기 바랍니다. (2016.03.14 추가)

-------------------------------------------------------------------------------------------


import matplotlib.pyplot as plt

decisionNode = dict(boxstyle="sawtooth", fc="0.8")
leafNode = dict(boxstyle="round4", fc="0.8")
arrow_args = dict(arrowstyle="<-")

def getNumLeafs(myTree):
    numLeafs = 0
    firstStr = myTree.keys()[0]
    secondDict = myTree[firstStr]
... (이하 생략)

이 부분에 matplotlib을 import해주는 부분이 있어서이다. 그렇다면 그 라이브러리를 설치해야 한다.

우선 공식 홈페이지에 가서, 64비트 기반 Installer를 다운로드 받았다.


근데... 파이썬 경로를 못 잡는다. 어쩔 수 없다. whl 파일로 설치해보는 걸로 한다. 근데 이번에는 pip이 없다. whl파일을 설치하려면 pip이 필요하다. 공식 홈페이지에 있는 get-pip.py 파일로 설치해보는걸로 한다.

이제 내가 구한 파일을 실행한다.

이게 무슨 일인고?

어? 어? 어어어? 제대로 된 파일이름이 아니란다. 알아보니 중간에 수정하면 설치가 안된다고 한다.

다시 파일을 다운받아서 설치한다.

어? 되는 것 같은데?

이번에도 설치가 안된다.

그래서 구글에 에러 내용을 똑같이 쳤다. Could not find a version that satisfies the requirement mathplotlib...

검색해보니 한 스택오버플로우 게시글이 나온다. 여기서는 미러 서버를 이용한 해결방법을 제시하고 있다.

그대로 실행해 본다.

Sucessfully installed!

그럼 지금까지 한게 헛수고란 말인가? (커맨드로 수동 설치할 경우 잘못 설치하면 그 과정이 헛수고가 되는 경우가 많음)

matplotlib import도 잘 된다.

에러가 나던 treePlotter 모듈 import도 잘 된다!

이제 의사결정 트리를 직접 동작해 본다.

제대로 동작하는 모습을 볼 수 있다. 이를 해결하기 위해 1시간 정도가 소요되었다. 1시간 동안 헛수고를 하면서 수동설치기의 근본적인 문제를 찾아내고 이를 해결해 나가는 시간이 꼭 헛수고만은 아닐 것이라 생각한다. 오늘은 여기까지 하기로 했다.