윈도우 x64에서 konlpy를 적용하다 보면
nlp = Okt()
No JVM shared library file (jvm.dll) found. Try setting up the JAVA_HOME environment variable properly.
위와 같은 에러를 발견하게 된다.
친절한 에러 로그 대로 JAVA_HOME 환경 설정을 따라 하다간... 안 끝난다. JDK에서 JVM 경로 설정하는 함수(['getDefaultJVMPath)가 오기능하여 작동한 것으로 보인다. 아마도 업데이트되면 해결되지 않을까 싶은대 아직은 그대로이다. 고생하지 말고 아래와 같이 따라가 보자.
1. 문제 원인 찾기
문제가 발생한 부분 첫번째 if 문에 걸리지 않고 else:를 타서 리눅스 JVM을 찾게 됐다.. win32 가 아닐 수도 있잖아!
파일 위치: ~\AppData\Local\Programs\Python\Python37\Lib\site-packages\jpype\jvmfinder.py
2. JVM 경로 찾기
정상적으로 JDK를 설치하였다면 해당 경로에 설치되어 있다.
파일 위치: ~\Java\jdk-15.0.1\bin\server\jvm.dll
3. 수동으로 JVM 경로 입력해 주기
파일 위치: ~\AppData\Local\Programs\Python\Python37\Lib\site-packages\konlpy\jvm.py
수정할 코드는 def init_jvm 함수 안에 있다.
jvmpath를 수동으로 jvm.dll 경로를 입력해 주고 경로 입력 시에 경로 구분은 \(역 슬레시) 가 아닌 /를 사용해서 입력해야한다. python string은 \를 특수 문자로 사용하기 때문에 어떤 side effect 가 발생할지 모른다.
(주의) 파일 수정 한 후엔 꼭 Jupyter lab 을 reset 한 후에 코드를 실행 시켜야 한다.
문의가 있다면 덧글로..
'programmer > python' 카테고리의 다른 글
Folium API 활용(그룹 설정, 마크 커스텀, 서클 마커, html 저장) (0) | 2021.03.08 |
---|---|
Jupyter(.ipynb) 실행 파일(.exe) 만들기 (2) | 2021.03.02 |
Conda 설치(linux) (0) | 2020.11.13 |
파이썬 사용자 module 경로 설정하기 (0) | 2020.09.17 |
venv returned non-zero exit status 1 에러 (0) | 2020.09.02 |