KoNLPy[코엔엘파이] 설치
(anaconda의 가상 환경 - Jupyter notebook에서 실행하는 경우)
- KoNLPy는 JVM 위에서 실행되므로 설치가 다소 귀찮았음(에러로 1시간 소요...ㅠ)
(에러가 2종류나 발생.. JVMNotFoundException + 파일 에러...)
KoNLPy 공식 홈페이지 : https://konlpy-ko.readthedocs.io/ko/v0.4.3/
KoNLPy 공식 홈페이지 설치 방법 : https://konlpy-ko.readthedocs.io/ko/v0.4.3/install/
1. Java 설치 (1.7 version 이상)
- cmd에서 java version 확인
java -version
참고) https://library1008.tistory.com/28
- 미설치 또는 버전 낮을 시 설치
https://www.oracle.com/java/technologies/javase-downloads.html
2. 환경변수 경로 설정 - Java Home
참고) https://webnautes.tistory.com/1394
- 제어판 > 시스템 > 고급 시스템 설정 > 고급 탭 > 환경 변수
[단축키 : Window 키 + R, sysdm.cpl 입력]
jvm.dll이 있는 폴더를 시스템 변수의 JAVA_HOME으로 추가
C:\Program Files\Java\jdk-16.0.1\bin\server
시스템 변수 - Path 설정 O | Path 설정 X | |
시스템 변수 | ? | 성공 |
사용자 변수 | 실패 |
1) 사용자 변수에 추가 -> 실패
2) 시스템 변수의 Path도 설정 -> 실패
시스템 변수에서 추가하고, 시스템 변수에서 path에 적었던 경로도 지워줌
3) 혹시 몰라 Anaconda 재실행 ...
우여곡절 끝에 시스템 변수에서 추가해줬을 때에서야 성공했다.....
Anaconda를 재실행해서 성공했는 진 모르겠지만....ㅠ
webnautes님도 그렇고, https://chan-lab.tistory.com/15 글에서도 그렇고, 사용자 변수가 아닌 시스템 변수에 추가해줬다.
경로에서 마지막에 server를 추가해야 하는지, 아닌 지는 잘 모르겠다.....(나는 넣었는데 되었고, 다른 글들에선 안 넣고 되었다.)
cmd에서 $set JAVA_HOME 입력 시 경로가 제대로 나오면 성공...
상단 링크의 webnautes님 글에 따르면 cmd에서 java-version을 입력했을 때, 해당 버전 등등이 떠야 성공이라고 했지만... 성공한 지금도 뜨지 않는다....
3. JPype1(0.5.7 이상) 다운로드
본인의 환경(파이썬 버전, 파이썬 비트)에 따라 알맞게 JPype 다운로드
주의) 윈도우 비트 버전이 아닌, 파이썬 비트에 맞게 다운로드
1-1) 파이썬 버전+비트 확인 방법
import sys
print("--sys.version--")
print(sys.version)
1-2) cmd 창에서의 파이썬 버전 확인 - 파이썬 비트는 확인 불가
python --version
2) JPype1 설치
https://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype
4. pip install konlpy
1) JPype를 다운로드 받은 경로에서 해당 파일 설치
(파일명은 자신의 상황에 맞게 변경)
2) konlpy 설치
pip install JPype1-1.3.0-cp38-cp38-win_amd64.whl
pip install konlpy
5. 설치 여부 확인
from konlpy.tag import Okt
okt = Okt()
print(okt.pos('프로그램 설치를 했습니다. 뭐 하나 쉬운 게 없네'))
별 error문 없이 출력되면 성공!!!
환경 변수 문제가 해결되고,,, 또다른 문제 직면...ㅠ
konlpy가 설치되어 있는 경로 -> jvm.py에서 * 지우기
(나의 경우, 아나콘다에서 생성한 가상 환경에서 실행하기 때문에 경로가 좀 달랐다.)
C:\Users\사용자명\anaconda3\envs\가상환경명\Lib\site-packages
여기에 konlpy의 폴더가 존재
jvm.py를 열어서 ctrl+f를 눌러 folder_suffix 안에 있는 *를 두 개 삭제 했더니 에러 없이 성공 가능했다...
자세한 건 상단 블로그 참고!!!!
'ML > 자연어처리' 카테고리의 다른 글
자연어처리(NLP) 과정 (0) | 2021.11.29 |
---|---|
[konlpy] 에러TypeError: No matching overloads found for kr.lucypark.okt.OktInterface.tokenize(float,java.lang.Boolean,java.lang.Boolean) (0) | 2021.11.15 |
자연어 분석(NLP) (0) | 2021.07.22 |
댓글