반응형

MeCab을 설치하기 위해 Konlpy를 설치 진행하였다

(https://ingu627.github.io/tips/install_konlpy/ 를 참고)

 

from konlpy.tag import Okt
okt = Okt()
text = '설치 잘 되었는지 확인 해줄래?'
print(okt.morphs(text))

설치가 잘 진행되었는지 확인하는 과정 중

 

"JVMNotFoundException: No JVM shared library file (jvm.dll) found. Try setting up the JAVA_HOME environment variable properly.  "라는 에러가 발생했다. 

 

google에 복붙 후 검색을 해보았으나 그곳에서 해결을 하지 못해 글을 작성하게 되었다.


 

1차 시도

 java를 재설치하고 환경 변수 설정 들어가서 JAVA_HOME을 다시 만들어주고 path에도 다시 추가를 했으나 문제는 지속되었다. 

 

- JAVA_HOME C:\Program Files\Java\jdk-17

- Path에 % JAVA_HOME%\bin\server\

 

이후에 cmd를 켜서 파이썬 버전에 맞는 JPype를 다시 설치하고 KoNLPy도 다시 깔았으나 해결되지 않았다.


2차 시도

아나콘다가 설치된 폴더 내 사용할 가상환경 내부 Lib\site-packages\jpype에 보면 _jvmfinder.py라는 파일을 고치는 방법을 사용했다.

_get_from_java 모듈에 java_home이라는 변수를 찾아수정하면 된다.

    def _get_from_java_home(self):
        """
        Retrieves the Java library path according to the JAVA_HOME environment
        variable

        Returns:
            The path to the JVM library, or None
        """
        # Get the environment variable
        #java_home = os.getenv("JAVA_HOME")
        java_home = os.getenv("C:\Program Files\Java\jdk-17\bin\server")
        if java_home and os.path.exists(java_home):
            # Get the real installation path
            java_home = os.path.realpath(java_home)

            if not os.path.exists(java_home):
                java_home = os.getenv("JAVA_HOME")

            # Look for the library file
            return self.find_libjvm(java_home)

위와 같이 os.getenv("JAVA_HOME")이라고 되어 있는 부분을 주석처리 후 JAVA_HOME에 환경번수 내부 상세 주소로 대체해주었다.


3차 시도

여전히 문제가 해결되지 않아 자바홈을 강제로 잡아주었다.

import os
print('JAVA_HOME' in os.environ)

실행해 보니 false가 출력되며 환경 변수에 그렇게 넣어주었건만 제대로 가져오지 못하고 있음을 알 수 있었고

 

os.environ['JAVA_HOME'] = r'C:\Program Files\Java\jdk-17\bin\server'

라고 작성하여 강제로 입력해 주었다. 

 

이후 

코드가 잘 작동하고 있다.

 

 

 

반응형

+ Recent posts