지금은 좀 지난 일이지만 페스트 캠퍼스라는 곳에서 '업무 자동화를 위한 Python'이라는 강의에 조교 알바로 일했던 적이 있다. 두 번 정도 했는데 강사님이 앞에서 수업하시는 동안 수강생분들이 손을 들면 찾아가서 버그를 고쳐주는 정도의 도움을 주는 역할이었다.
수강생분들이 조교를 부른 원인은 당연히 오타였고, 그다음으로는 논리적인 부분이나 라이브러리 활용법 정도였다. 세 개 전부 해결하기도 쉽고 오타를 제외한 다른 문제들은 해결해 드렸을 때 내 자신이 다시 공부하는 느낌도 있었기 때문에 보람이 있는 편이었다. 하지만 가장 짜증나는 에러가 있었는데 바로 'UnicodeDecodeError' 이제 Python2.x에서 Unicode만 들어도 짜증이 날것같다.
때는 Python2.x를 이용하여 크롤링 관련 라이브러리를 pip를 이용하여 설치하던 때였는데 여기저기서 수강생분들이 손을 들기 시작했다. 왜 그런가 했더니 바로 'UnicodeDecodeError'가 떠서 라이브러리가 설치되지 않았던 것이다. 수강생 대부분은 직장인이셨고 개인 노트북이 아니라 회사에서 지급된 노트북을 사용하시는 분이 많았다. 그래서 유저네임이 한글로 되어있는 분이 반절쯤 되었고 파이썬이 유니코드 에러를 뱉어내기 시작했던 것이다.
해결법은?
사실 맥을 쓰고 있어서 경험해본 적 없는 이슈였기 때문에 처음엔 구글링을 좀 돌려보았고 여러 페이지를 들러 검색해보다가 해결방법을 찾아 사용했다. 강의 안에서 발생했던 Unicode에러는 거의 이 방법으로 해결했던 것 같다. 간단하게 기존 파일을 살짝 수정해주면 되는 수준인데 다음과 같다.
1. Python2.x가 설치된 경로에 있는 site.py를 열어 479번 라인과 490 라인의 'ascii'를 'utf-8'로 수정한다.
일단 위에 # Here! 이라고 적힌 부분들을 수정해주면 된다. 수정을 했다면 저장하고 넘어가자.
2. 다음으로 같은 위치의 'ntpath.py'를 열어 87번째 라인의 'p_path'를 'p_path.encode('utf-8')'로 수정한다.
이것도 수정을 마쳤다면 저장하고 넘어가자.
3. Python을 실행시키고 원하는 라이브러리를 pip를 이용하여 다운로드 받아보자.
대부분의 경우 잘 작동될 것이다.