파이썬 한글 형태소 분석기 KoNLPy 설치방법 및 에러 해결

2018. 1. 30. 22:03IT, 데이터/Python(파이썬)

728x90



파이썬에 텐서플로우라는 강력한 딥러닝 라이브러리가 생긴 이후로 빅데이터 분야에 R 이후로 신흥강자로 떠올랐는데요


하지만 태생이 범용 프로그래밍 언어로 만들어진 것이다 보니 개발자의 철학이 녹아있고

그런 점에서 개발자가 아닌 분석가가 사용하기에는 R보다 난해한 점들이 곳곳에 있습니다.



이번에 한글 형태소 분석기인 KoNLPy를 설치하면서 또 여실히 느꼈는데요.


R의 형태소 분석기인 KoNLP는 패키지 설치 후 라이브러리로 불러오면 만사 OK였는데

KoNLPy는 JAVA VM 환경에서 작동하게 되어있어서 이것저것 깔고 설정할 것들이 많더라구요.



그 과정에서 타이핑 해야하는 각종 커맨드들... 


그리고 환경에 따라 누구한테는 되는데 저한테는 실행이 안되는 케이스들...


닷넷 환경에서 개발만 경험해본 저에게는 상당히 고역이더라구요.

 



그래서 파이썬 환경이나 수동설치에 익숙하지 않은 분들을 위해 

설치 시행착오를 통해 경험한 설치 후기를 공유하고자 합니다.




- 설치환경 -


IDE : Pycharm


버전 : 3.5.2 (Anaconda 3으로 설치)


OS : Windows 7




- 순 서 -


1. KoNLPy 패키지 설치

2. pip 업그레이드

3. JPype1 설치

4. JDK 설치 및 설정





1. KoNLPy 패키지 설치



먼저 KoNLPy는 다른 패키지와 마찬가지로 

명령 프롬프트에서 pip install konlpy로 설치할 수 있습니다.


하지만 각 패키지들을 활용하기 위해 선행되어야 할 작업들이 있는지 확인해야 하므로

KoNLPy 홈페이지를 찾아갑니다.


http://konlpy-ko.readthedocs.io/ko/v0.4.3/





들어가서 아래로 내리다 보면 설치하기 아래에 윈도우를 확인하실 수 있고

클릭해서 들어가면 위와 같은 화면을 보실 수 있습니다.


우리나라에서 만들어진 패키지인 만큼 한국어로 비교적 친절하게 설명되어 있습니다.



보시면 KoNLPy 설치하기 전에 해야할 작업들이 나와있습니다.


1에서 4번까지 모든 설치 및 환경설정을 완료해야 패키지가 정상적으로 실행되므로

순서를 지켜서 해주셔야 합니다.


만약 이것들을 무시하고 바로 pip install konlpy를 냅다 깔면 

설치는 되는데 실행하면 다음과 같은 처참한 에러메시지를 볼 수 있습니다.




<패키지 설치는 잘 되었으나...>



<Run 하면 칼 같이 뜨는 에러메시지들>



맨 아래 메시지에 주목하시면  ImportError: No Module named 'jpype' 이라고

'jpype' 모듈을 찾을 수 없다고 하는데 이것이 바로 위 KoNLPy 설치 순서 중 3번에 해당되는 내용입니다.




따라서 위와 같이 pip을 먼저 업그레이드하고

그 다음 JPype1을 설치하도록 합니다.







2. pip 업그레이드



pip 업그레이드는 JPype1을 설치하는 데 선행조건이 되기 때문인 것으로 보입니다.


업그레이드는 안내된 코드와 같이 명령 프롬프트에서 아래와 같이 입력하여

버전 9로 업그레이드하면 되나,



1
pip install --upgrade pip 

cs



간혹 안되는 경우에는


1
pip3 install -U pip 
cs

 

을 하면 잘 되기도 합니다.

(이유는 모르겠습니다. 구글 검색해서 찾은 내용인데, 실제로 위의 방법으로 안되었을 때

아래 방법으로 하니 잘 되었습니다.)





3. JPype1 설치



위 화면에 JPype1 (>=0.5.7) 링크를 타고 가시면 다운로드 받을 수 있는 화면이 나타납니다.




JPype는 파이썬 버전별로 파일이 준비되어 있으므로

자신의 환경에 맞는 파일을 다운받아야 합니다.


cp27, cp35 등에서 나타난 숫자가 바로 파이썬 버전으로


명령 프롬프트에서 'python -v' 를 입력하거나

pycharm을 이용하시면 'File' - 'Settings'로 들어가면 현재 프로젝트에서 사용중인 파이썬 버전을 확인할 수 있습니다.




<Pycharm에서 버전 확인>


저는 3.5.2 버전을 사용하고 32비트 버전으로 설치했으므로 위의 JPype 목록 중에

cp35이고 뒤에가 win32인


JPype1-0.6.2-cp35-cp35m-win32.whl 파일을 다운 받습니다.


여기서 주의할 점은 현재 설치된 윈도우가 32비트냐 64비트냐를 따라가는 것이 아니라

파이썬을 32비트용으로 설치했냐 64비트용으로 설치했냐에 따라가야 합니다.


실제로 제 윈도우는 64비트 버전이지만 파이썬을 32비트 버전이므로 32비트를 다운 받았습니다.



그리고 다운 받은 파일을 명령 프롬프트를 실행하는 경로와 같은 경로로 이동시킵니다.



예를 들면 저는 Pycharm 내에 있는 터미널에서 바로 설치하기 때문에

현재 경로인 C:\Users\a\PycharmProjects\untitled2 폴더에 


아까 받은 파일을 탐색기로 이동시켰습니다.


그리고 나서 KoNLP에서 안내된 대로 설치를 하면 되는데

파일이름은 다운 받은 파일을 입력하시면 됩니다.


1
pip install JPype1-0.6.2-cp35-cp35m-win32.whl
cs



pip이 제대로 업그레이드 되었다면 별다른 문제없이 설치가 됩니다.



그러면 이제 코드가 잘 실행될까요?



이번에도 맨 마지막 줄에 주목하면 RuntimeError: Unable to start JVM at native\common\jp_env.cpp:78 이라고

JVM(Java Virtual Machine)을 시작할 수 없다고 나옵니다.




이것은 1, 2번을 생략했기 때문에 나타나는 에러 메시지입니다.


이제 자바 환경을 이용할 수 있도록 JDK를 설치해보도록 합니다.







4. JDK 설치 및 설정


JDK는 일반적인 윈도우 프로그램 설치하듯이 하면 되기때문에 쉽지만

역시나 파이썬과 OS 버전을 맞춰야 합니다.


파이썬이 32비트이면 JDK도 32비트 버전으로,

파이썬이 64비트이면 JDK도 64비트 버전으로 해야합니다.


위의 JAVA_HOME 설정하기 링크를 타고 들어가거나

구글에서 JDK를 검색하시면 다운받을 수 있는 페이지로 이동합니다.




JDK는 9버전이 최신이긴 하나 들어가보면 32비트용 파일이 없어서

만약 파이썬이 32비트라면 8버전으로 들어가셔야 합니다.


OS별로 파일이 다른데 맨 끝에서 두 번째(x86)가 저에게 해당되는 32비트 버전입니다.




exe 파일을 내려받고 인스톨하면 위와 같이 정상적으로 JDK가 설치됩니다.


이제는 제대로 될지 살펴봅시다.





한빛미디어에서 나온 '파이썬 라이브러리를 활용한 머신러닝' 책

(Introduction to Machine Learning with Python) 중 텍스트 분석 실습 예제를 실행해보았습니다.


5번째 줄의

twitter_tag = Twitter() 가 KoNLPy 내의 함수를 호출하는 구문인데요


아래 캡쳐와 같이 에러가 없이 잘 실행이 되었습니다.


하지만 노트북에 똑같은 작업을 했을 때는 JAVA_HOME 경로에 jvm.dll 파일이 없다면서 또 한 번 에러가 났었습니다.


이것은 설치순서 중 2번 과정, 'JAVA_HOME' 경로 설정을 해야만 해결이 됩니다.



탐색기에서 컴퓨터 우클릭 - 속성 

또는 제어판에서 시스템 속성으로 들어가신 후


좌측의 고급 시스템 설정 - 환경변수를 들어가시면 JAVA_HOME 에 해당하는 경로를 설정할 수 있습니다.


이 때 경로는 방금 설치한 JDK 중에 jvm.dll이 있는 폴더를 지정하시면 됩니다.





탐색기에서 jvm.dll 로 검색하면 1개 또는 2-3개 파일이 나오는데 저는 위와 같은 경로를 설정해보기로 하였습니다.


 


환경변수 화면에서 새로 만들기 한 후 변수이름은 'JAVA_HOME'

변수 값은 jvm.dll이 있는 폴더 경로를 복사 붙여넣기해서 입력한 후 확인 버튼을 누르면 됩니다.



이렇게 하면 KoNLPy 에서 안내한 1~4번 과정을 거쳐 패키지를 활용할 수 있게 됩니다.


다소 빙 돌아서 설명드렸는데,


어느 하나가 빠질 경우 어떤 에러가 발생하는 지 참고하셔서 KoNLPy 설치 중에 

발생할 수 있는 문제해결에 도움되었으면 좋겠습니다.






- 결  론 -


KoNLPy 설치할 때는 웹사이트에서 안내하는 대로 

순서를 지켜서 설치합시다