파이썬에서 한글 자연어 처리를 위해서 KoNLPy 패키지를 설치 및 사용하려고 합니다.
해당 패키지를 사용하기 위해서는 JDK(JAVA), JPype1, KoNLPy의 순차적인 설치가 필요한데,
위 라이브러리 및 패키지를 모두 설치하고 코드를 실행시켰을 때
아나콘다 환경에서는 종종 다음과 같은 오류가 발생하기도 합니다.
ValueError: No JVM shared library file (jvm.dll) found. Try setting up the JAVA_HOME environment variable properly.
솔루션은 JDK 설치 시 설정했던 JAVA_HOME 환경변수를 제대로 인식해주도록 하는 것인데,
아무리 환경변수를 제대로 설정하더라도 끝까지 인식을 못하는 경우가 많더군요.
그래서 아예 jpype의 jvm을 찾는 코드에서 직접 JDK의 경로를 넣어주도록 하였습니다.
1. 디렉토리 찾아가기
C:\ProgramData\Anaconda3\Lib\site-packages\jpype\_jvmfinder.py
jpype 패키지의 jvm을 찾는 소스코드는 보통 다음과 같은 디렉토리 경로에 위치해있습니다.
종종 숨김 폴더 옵션 때문에 Program Data가 보이지 않을 수도 있으니, 그럴땐 숨김 폴더 옵션을 해제해주시면 됩니다.
2. 소스코드 수정

1) 해당 소스코드를 오픈한 후 _get_from_java_home() 메소드를 찾습니다.
2) 기존에 있던 JAVA_HOME 환경 변수로 JDK 경로를 찾던 코드를 주석처리 해줍니다.
3) 직접 JDK 설치 경로를 입력해줍니다. 이때 os.getenv()를 사용하는 것이 아닌, 문자열 형태 그대로 입력하는 것이 중요합니다. os.getenv() 메소드를 이용하면 여전히 계속 오류가 발생하기도 하기 때문입니다.
위와 같은 처리 후에는 다행히 JDK를 잘 찾아가서 정상적으로 동작하였습니다.
오류 해결에 참고한 웹페이지 링크를 글 하단에 첨부해놓았습니다.
감사합니다.
참고 링크: https://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=talkbox2&wr_id=1147061
'Dev > TIP 팁' 카테고리의 다른 글
[git] vscode에서 커밋 시 COMMIT_EDITMSG 열릴 때 : 해결 방법 (1) | 2023.03.26 |
---|---|
[TIP/실험] lambda filter와 list comprehension의 속도 비교 | 프로그래머스 | n의 배수 고르기 (1) | 2023.01.24 |
[TIP] 컴퓨터 OS | 파일 시스템 | 터미널 환경의 기본 (0) | 2022.12.19 |
[TIP] 코드 깔끔하게 짜는 법/클린 코드/깨끗한 코드 (1) | 2020.07.16 |
[TIP] Color Scripter/Color Scripter 사용방법/Color Scripter 사용법 (0) | 2019.06.23 |