KoNLPy 설치 에러 해결

Recorder·2021년 7월 29일
1

NLP

목록 보기
1/1

한국어 자연어 처리에 사용되는 대표적인 형태소 분석기 중 하나는 KoNLPy이다.

KoNLPy를 사용하는 대표적인 방법 아래와 같다.

  • konlpy 설치
pip install konlpy
  • 불러와서 모델 사용
from konlpy.tag import Okt
okt = Okt()

하지만 여기서 okt=Okt() 부분에서 에러가 발생하는 경우가 많이 있다.
이를 해결하는 방법을 알아보자.

1. JAVA 설치

먼저 평소 JAVA를 사용하지 않던 사람들의 경우,

okt = Okt()

를 실행하면 아래와 같은 에러가 발행하는 경우가 있다.

이는 에러문을 읽어보면 알 수 있 듯, JVM 파일을 찾을 수 없어서 발생하는 에러이다.
JVM은 Java Virtual Machine으로, 결국 JAVA를 설치해야 함을 알 수 있다.

또한 에러문 후반부를 보면 JAVA_HOME 환경 변수도 필요함을 확인할 수 있다.

이 과정을 좀 더 자세히 살펴보자.

1) JDK 설치

https://www.oracle.com/kr/java/technologies/javase-downloads.html

위 링크를 들어가서 JDK(Java Development Kit)를 설치한다.

2021.07 기준으론 아래와 같은 화면이 보이는데, 여기서 JDK Download를 선택하면 된다.

시기에 따라 보이는 화면은 다를 수 있는데, 상관없이 jdk download를 선택하면 된다.

이후 스크롤을 내리면

아래와 같은 화면이 보인다. 보인 컴퓨터에 맞는 Installer를 설치파일을 다운로드한다.

다운로드한 파일을 실행한 후, 큰 설정 변경 없이 next를 눌러가며 설치를 완료하면 된다.

2) 환경 변수 설정

window key를 눌러서 "시스템 환경 변수 편집"에 들어간다.

여기서 "환경 변수" 버튼을 눌른다.

그러면 아래와 같은 화면이 나온다. 여기서 시스템 변수를 추가하기 위해 "새로 만들기"를 누른다.

그리고 JAVA_HOME 이라는 이름으로, jdk파일이 설치된 경로를 설정해준다. (내부에 bin\server\jvm.dll 이 있는 폴더를 의미한다.)

여기에 추가적으로 사용자 변수에서 Path 경로도 설정해 주는 것이 좋다. 이를 위해 아래 그림의 Path 부분을 더블 클릭해준다.

그리고 새로 만들기를 눌러서 아래와 같은 경로를 추가한다.

이 과정을 마치면, JVM 설치가 완료되어 해당 에러가 나타나지 않는다.


2. JPype 설치

하지만 위 과정이 끝나도

SystemError: java.nio.file.InvalidPathException: Illegal char <*> at index 55: C:\ ~~~~ \Lib\site-packages\konlpy\java\*

이와 같은 에러가 발생하곤 한다.

1) JPype 다운로드

이는 konlpy에 필요한 JPype가 설치되어 있지 않기 때문에 발생한 에러이다.

따라서 이 경우 아래 링크로 들어가, 자신의 파이썬 버전에 맞는 파일을 다운로드 한다.

https://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype

64bit 위도우로 python 3.8.x를 사용하고 있는 필자는, 위 파일을 선택했다.

파이썬 버전 확인

스스로 사용 중인 python version을 모를 경우, terminal(command line)을 열고
python --version을 입력
해주면 확인할 수 있다.

2) 설치

파일을 다운로드 했으면

terminal에서 해당 파일이 있는 경로로 이동한다.

이후

pip install JPype1‑1.3.0‑cp38‑cp38‑win_amd64.whl

위와 같은 코드로 해당 파일을 설치한다.


3. KoNLPy 설치

본래 KoNLP는 Jpype가 있을 때, 설치하는 파일이다.

따라서 JPype 설치 후 다시 설치해 주는 것이 좋을 수 있다.

pip install konlpy

4. 오류 파일 수정

위 과정을 거치면, 일반적인 설치 절차는 완료한 것이다.
하지만... 필자처럼(...) 그럼에도 아래와 같은 에러가 새로 발생하는 경우가 있다.

JAVA가 설치가 안되어 있었다면.. 과정이 너무 길지만, 좀 만 더 힘내보자...

세부적인 경로는 사람에 따라 다를 수 있다. 어째든 유사한 에러가 발생한 경우

에러 메시지에서 알려준 경우로 이동해서,
한 층 위인 konlpy 폴더로 이동해서, jvm.py 파일을 찾는다.

파일을 열러 사진과 같은 부분을 찾아서, 붉게 표시해둔 * 문자를 삭제하고 저장한다.


이 과정을 마치고 나면 에러 없이 Okt()를 사용할 수 있다.

profile
기억은 나 대신 컴퓨터가

0개의 댓글