[오류Error] FileNotFoundError: [Errno 2] JVM DLL not found: /Library/Java/JavaVirtualMachines/microsoft-11.jdk/Contents/Home/lib/jli/libjli.dylib"

2024. 11. 15. 17:01·오류Error
728x90
반응형

텍스트 전처리 공부하는 중에 로컬에서 토크나이저를 수행하려고 하니 에러가 발생했다.

 

# 불용어 정의
stopwords = ['의','가','이','은','들','는','좀','잘','걍','과','도','를','으로','자','에','와','한','하다']

# 형태소 분석기 OKT를 사용한 토큰화 작업 (다소 시간 소요)
okt = Okt()  ------> 에러

 

{
	"name": "FileNotFoundError",
	"message": "[Errno 2] JVM DLL not found: /Library/Java/JavaVirtualMachines/microsoft-11.jdk/Contents/Home/lib/jli/libjli.dylib",
	"stack": "---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
Cell In[26], line 5
      2 stopwords = ['의','가','이','은','들','는','좀','잘','걍','과','도','를','으로','자','에','와','한','하다']
      4 # 형태소 분석기 OKT를 사용한 토큰화 작업 (다소 시간 소요)
----> 5 okt = Okt()
      7 # tokenized_data = []
      8 # for sentence in tqdm(train_data['document']):
      9 #     tokenized_sentence = okt.morphs(sentence, stem=True) # 토큰화
     10 #     stopwords_removed_sentence = [word for word in tokenized_sentence if not word in stopwords] # 불용어 제거
     11 #     tokenized_data.append(stopwords_removed_sentence)

File ~/opt/anaconda3/envs/song38/lib/python3.8/site-packages/konlpy/tag/_okt.py:51, in Okt.__init__(self, jvmpath, max_heap_size)
     49 def __init__(self, jvmpath=None, max_heap_size=1024):
     50     if not jpype.isJVMStarted():
---> 51         jvm.init_jvm(jvmpath, max_heap_size)
     53     oktJavaPackage = jpype.JPackage('kr.lucypark.okt')
     54     OktInterfaceJavaClass = oktJavaPackage.OktInterface

File ~/opt/anaconda3/envs/song38/lib/python3.8/site-packages/konlpy/jvm.py:64, in init_jvm(jvmpath, max_heap_size)
     61     jvmpath = '%s/lib/jli/libjli.dylib' % jvmpath.split('/lib/')[0]
     63 if jvmpath:
---> 64     jpype.startJVM(jvmpath, '-Dfile.encoding=UTF8',
     65                             '-ea', '-Xmx{}m'.format(max_heap_size),
     66                             classpath=classpath,
     67                             convertStrings=True)
     68 else:
     69     raise ValueError(\"Please specify the JVM path.\")

File ~/opt/anaconda3/envs/song38/lib/python3.8/site-packages/jpype/_core.py:247, in startJVM(jvmpath, classpath, ignoreUnrecognized, convertStrings, interrupt, *jvmargs)
    245 prior = [locale.getlocale(i) for i in categories]
    246 # Start the JVM
--> 247 _jpype.startup(jvmpath, jvmargs + extra_jvm_args,
    248                ignoreUnrecognized, convertStrings, interrupt)
    249 # Collect required resources for operation
    250 initializeResources()

FileNotFoundError: [Errno 2] JVM DLL not found: /Library/Java/JavaVirtualMachines/microsoft-11.jdk/Contents/Home/lib/jli/libjli.dylib"
}

 


우선!

Java 설치 확인 및 재설치

Java가 제대로 설치되었는지 확인해보았다.(Mac)

java -version

 

현재 Java가 Microsoft OpenJDK 11 버전으로 설치된 상태이다.

버전 정보에서 Microsoft-25199 부분이 보이는 것으로 확인할 수 있는데, 이 Microsoft OpenJDK와 Konlpy의 JPype 라이브러리 간의 호환성 문제가 발생할 수 있다고 함.

 

Konlpy는 일반적으로 Oracle JDK 또는 OpenJDK와 더 잘 호환되기 때문에, Microsoft OpenJDK에서는 문제가 발생할 수 있음.

특히 MacOS에서 Konlpy는 특정 JVM 라이브러리(libjli.dylib)에 의존하기 때문에, 이 부분에서 충돌이 발생한 것으로 보임.

 

해결 방법

 

Microsoft OpenJDK를 제거하고, Oracle JDK 또는 AdoptOpenJDK(현재는 Eclipse Temurin)로 교체!

 

1. 기존 Microsoft OpenJDK 제거

sudo rm -rf /Library/Java/JavaVirtualMachines/microsoft-11.jdk

password 입력하면 제거 됨

 

2. AdoptOpenJDK (Eclipse Temurin) 설치

MacOS에서 brew를 사용하여 Eclipse Temurin(OpenJDK 11)을 설치할 수 있음

brew install --cask temurin11

설치 후, Java 경로를 다시 설정.

echo 'export JAVA_HOME=$(/usr/libexec/java_home -v 11)' >> ~/.zshrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.zshrc
source ~/.zshrc

 

3. 설치된 Java 버전 확인

java -version

 

이렇게 하니까 해결되었음!

728x90
반응형
저작자표시 (새창열림)

'오류Error' 카테고리의 다른 글

[오류Error] VS Code Remote-SSH: "원격 호스트가 VS Code Server를 실행하기 위한 필수 구성 요소를 충족하지 않습니다" 오류 해결 후기  (7) 2025.04.11
[오류Error] Resource punkt_tab not found. Please use the NLTK Downloader to obtain the resource:  (0) 2024.11.22
[오류Error] RuntimeError: Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor) should be the same  (0) 2024.04.17
[오류Error] exception: install mecab in order to use it: http://konlpy.org/en/latest/install/  (0) 2024.02.08
[오류Error] 'utf-8' codec can't decode byte 0xc1 in position 0: invalid start byte  (0) 2022.05.21
'오류Error' 카테고리의 다른 글
  • [오류Error] VS Code Remote-SSH: "원격 호스트가 VS Code Server를 실행하기 위한 필수 구성 요소를 충족하지 않습니다" 오류 해결 후기
  • [오류Error] Resource punkt_tab not found. Please use the NLTK Downloader to obtain the resource:
  • [오류Error] RuntimeError: Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor) should be the same
  • [오류Error] exception: install mecab in order to use it: http://konlpy.org/en/latest/install/
ISFP의 블로그
ISFP의 블로그
이건 첫 번째 레슨, 업무에서 마주친 문제 해결 경험 공유하기 이건 두 번째 레슨, 개인적으로 공부한 데이터/AI 지식을 기록하기 이건 세 번째 레슨, 다른 사람과 비교하지 말고 오직 어제의 나와 비교하기
  • ISFP의 블로그
    resultofeffort
    ISFP의 블로그
  • 전체
    오늘
    어제
    • 분류 전체보기 (117)
      • python (25)
      • pythonML (27)
      • Linux (0)
      • 오류Error (8)
      • information (7)
      • Deep learning (5)
      • pytorch (29)
      • 코딩테스트 (4)
      • 밑바닥 DL (4)
      • 논문 리뷰 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    텍스트전처리
    분류
    딥러닝
    deeplearning
    토큰화
    데이터분석
    티스토리챌린지
    Python
    pytorch
    nlp
    machinelearning
    Pandas
    자연어처리
    머신러닝
    인공지능
    cnn
    konlpy
    Deep Learning
    오블완
    Ai
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
ISFP의 블로그
[오류Error] FileNotFoundError: [Errno 2] JVM DLL not found: /Library/Java/JavaVirtualMachines/microsoft-11.jdk/Contents/Home/lib/jli/libjli.dylib"
상단으로

티스토리툴바