Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AttributeError: Java package 'kr.lucypark.okt' is not valid 오류가 발생합니다 #396

Open
woongz1 opened this issue Feb 9, 2022 · 6 comments

Comments

@woongz1
Copy link

woongz1 commented Feb 9, 2022

pyCharm 에서 konlpy를 사용하는데
from konlpy.tag import Okt
okt = Okt()를 사용하면 AttributeError: Java package 'kr.lucypark.okt' is not valid가 출력됩니다
JPype 설치, 환경 변수, konlpy 재설치까지 다 해봤는데 오류가 해결이 되지 않습니다

@combacsa
Copy link
Contributor

안녕하세요, @woongz1 님. 먼저 다음 사항을 확인해 주시겠어요?

(1) JDK Version
(2) 사용중이신 OS 와 CPU 벤더
(3) 사용중이신 PyCharm 버전
(4) os.env 내용 중 JAVA_HOME

같은 현상을 재현할 수 있는 방법을 찾으면 문제 해결에 큰 도움이 되겠습니다.

@woongz1
Copy link
Author

woongz1 commented Feb 11, 2022

  1. JDK 17.0.1 입니다
  2. 윈도우에서 사용하고 있고 CPU는 AMD 2200G 사용중입니다
  3. pycharm 버전은 11.0.12+7-b1504.28 amd 64 입니다
  4. print(os.environ['JAVA_HOME'])로 실행해봤을 때
    C:\Program Files\Java\jdk-17.0.1\bin\server라고 나옵니다. 이 부분은 이해를 잘 못했네요;

@combacsa
Copy link
Contributor

@woongz1 님, 확인 감사합니다. 재현을 시도해보고 있는데요, 혹시 가능하시면 다음 세 가지 사항도 확인 부탁드립니다.

  • pip list 의 결과물
  • 사용중이신 Python version
  • Kkma 의 경우에도 비슷한 현상이 일어나시는지, 아니면 Okt 에 대해서만 그런 현상이 일어나시는지

@combacsa
Copy link
Contributor

#359 에서도 비슷한 현상을 겪으신 분이 있었는데, 어쩌면 이번에 @woongz1 님께서 조금 더 도와주시면 문제 해결의 실마리를 찾을 수 있을 것 같습니다.

@hexists
Copy link
Contributor

hexists commented Feb 20, 2022

@woongz1
안녕하세요~

AttributeError: Java package 'kr.lucypark.okt' is not valid
위 오류의 주요 메세지가 Java package를 못 찾는 부분이라 아래처럼 확인해보면 좋을 것 같습니다.

#!/usr/bin/env python3


import os
from konlpy import utils


javadir = '%s%sjava' % (utils.installpath, os.sep)
args = [javadir, os.sep]
folder_suffix = ['{0}{1}open-korean-text-2.1.0.jar']
classpath = [f.format(*args) for f in folder_suffix]

print('javadir  : {}'.format(javadir))
print('os.sep   : {}'.format(os.sep))
print('classpath: {}'.format(classpath[0]))

위 코드는 https://github.com/konlpy/konlpy/blob/master/konlpy/jvm.py#L50-L53 에 있는 코드입니다.
konlpy를 통해 설치된 classpath를 지정하는 부분으로 이렇게 확인해보시면 classpath가 잘못 설정됐는지 확인해 볼 수 있습니다.

출력된 값을 보고, konlpy의 classpath가 잘 설정됐는지 확인해면 좋을 것 같습니다.

참고로, 실행시 아래와 같이 출력됩니다.
저는 맥을 사용하고 있어서 아래와 같이 출력됩니다.

javadir  : /Users/name/Develop/konlpy_hexists_py3/konlpy/java
os.sep   : /
classpath: /Users/name/Develop/konlpy_hexists_py3/konlpy/java/open-korean-text-2.1.0.jar

@jhb1005
Copy link

jhb1005 commented Apr 14, 2023

저도 같은 증상으로 인해 고생했는데 파일 경로에 한글이 있어서 그랬습니다. 경로에 한글이 없게 하니까 제대로 실행 되네요

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants