Python

konlpy, Okt 오류 - No JVM shared library file (jvm.dll) found

chiquita 2021. 2. 17. 02:15

 

jupyter notebook으로 konlpy의 okt를 사용하려는데 오류가 떴다...

 

Error Message

No JVM shared library file (jvm.dll) found. Try setting up the JAVA_HOME environment variable properly.

 


 

해결방법

나 같은 경우는 Java가 설치돼있지 않아서 구글링한대로 경로 설정조차 할 수가 없었다.

그래서 Java SE의 JDK 먼저 설치를 했다.

 

1. JDK 설치

JDK는 Java Development Kit(자바개발키트)로 개발할 때 필요한 키트를 포함해서 가진다.

www.oracle.com/java/technologies/javase-downloads.html

오늘 기준으로 Java SE 15 버전을 다운받을 수 있다

 

2. 환경변수 경로 설정 (안해도 됨)

아나콘다가 설치 된 경로로 가서 jpype_jvmfinder.py 파일의 일부를 수정해야한다.

\anaconda3\Lib\site-packages\jpype_jvmfinder.py

파일에서 _get_from_java_home 함수를 찾고,

java_home 변수에 할당되는 값을 아까 jdk를 설치한 경로로 넣어준다.

나는 "java_home = "D:\Program Files\Java\jdk-15.0.2" 이렇게 넣었다.

 

3. ERROR!

또 에러남..

그냥 시스템 환경 변수에 넣어야겠다.

 

4. 시스템 환경 변수 편집

시스템 환경 변수에 직접 JAVA_HOME 경로 입력하기.

유의할 점은 마지막에 Path 설정까지 하고나서 확인 후 시스템 환경 변수를 들어왔을 때,

Path 에 C:\ProgramingData\Oracle\Java\javapath 가 잡혀있을 수도 있다.

이런 경우에는 오라클 경로가 잡혀서, 새로 설정한 경로가 적용되지 않을 수 있으므로

꼭! 오라클로 잡힌 Java\javapath는 삭제해야한다.

 

그런데도 에러가 났다...

뭐가 잘못 됐을까..

 

알고보니 konlpy를 사용할 때 선작업 해야하는 걸 안해서 그랬던 거였다.

 

5. 진짜 마지막!

JDK 설치해서 환경 변수에 경로 넣어줬다면

JPype1 다운로드 받은 후

anaconda3 콘솔창에서 아래 코드를 입력한다

pip install --upgrade pip
pip install 다운받은JPype이름
pip install konlpy

⁂참고로 JPype는 anaconda3 콘솔창을 켜면 나오는 디렉토리에 넣으면 된다.

 

성공!