Python/Python-Crawling

TPype classpath 문제 해결

오마로 2024. 3. 13. 15:54
반응형

TPype 설치 후 에러 발생에 대한 해결

윈도우 사용자가 "오마로" 한글 때문에 classpath를 정상적으로 가지고 오지 못하는 오류 발생
1.오류내용
from konlpy.tag import Okt
okt = Okt() 
AttributeError: Java package 'kr.lucypark.okt' is not valid

즉, 자바패키지를 찾지 못합니다. classpath에 한글이 포함되어서 찾지 못합니다. 
그래서, D폴더에 한글없는 폴더에 넣어서 classpath 재설정 
 
2. C:\\Users\\오마로\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\konlpy\\java의 폴더 및 파일들을 복사해서 D 특정 폴더로 복사 처리
3.classpath 재설정
 ㄴ C:\\Users\\오마로\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\konlpy\\jvm.py 수정
        # AS-IS
        # args = [javadir, os.sep]
        # classpath = [f.format(*args) for f in folder_suffix]
   
        # TO-BE
        konlpyJavaDir = 'D:/05.Python/02.Crawling/konlpy_classpath/java'
        args = [konlpyJavaDir, os.sep]
        classpath = [f.format(*args) for f in folder_suffix]

AS-IS
classpath : 'C:\\Users\\오마\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\konlpy\\java' ...

TO-BE
classpath : 'D:/05.Python/02.Crawling/konlpy_classpath/java' ....

실행 시, 정상적으로 처리됩니다. 

4.결과는 아래와 같습니다. 

[Source]

from konlpy.tag import Komoran
from konlpy.tag import Kkma
from konlpy.tag import Okt
okt = Okt()                   #twitter 한국어 처리기
komoran = Komoran() # Shineware 한국어 처리기
Kkma = Kkma()           # 서울대 한국어 처리기
msg = "Birkman(버크만) 진단이 관계를 개선하는 데 도움이 될까?"
print(okt.pos(msg))
print(komoran.pos(msg))
print(Kkma.pos(msg))

[Result]
[('Birkman', 'Alpha'), ('(', 'Punctuation'), ('버크', 'Noun'), ('만', 'Josa'), (')', 'Punctuation'), ('진단', 'Noun'), ('이', 'Josa'), ('관계', 'Noun'), ('를', 'Josa'), ('개선', 'Noun'), ('하는', 'Verb'), ('데', 'Noun'), ('도움', 'Noun'), ('이', 'Josa'), ('될까', 'Verb'), ('?', 'Punctuation')]
[('Birkman', 'SL'), ('(', 'SS'), ('버크', 'NNP'), ('만', 'NNP'), (')', 'SS'), ('진단', 'NNG'), ('이', 'JKS'), ('관계', 'NNG'), ('를', 'JKO'), ('개선', 'NNG'), ('하', 'XSV'), ('는', 'ETM'), ('데', 'NNB'), ('도움', 'NNG'), ('이', 'JKS'), ('되', 'VV'), ('ㄹ까', 'EF'), ('?', 'SF')]
[('Birkman', 'OL'), ('(', 'SS'), ('버크', 'NNP'), ('만', 'JX'), (')', 'SS'), ('진단', 'NNG'), ('이', 'JKS'), ('관계', 'NNG'), ('를', 'JKO'), ('개선', 'NNG'), ('하', 'XSV'), ('는', 'ETD'), ('데', 'NNB'), ('도움', 'NNG'), ('이', 'JKC'), ('되', 'VV'), ('ㄹ까', 'EFQ'), ('?', 'SF')]

감사합니다
오늘도 즐거운 코딩되세요

반응형