konlpy install 오류 해결 방법 - hexists/konlpy GitHub Wiki
konlpy를 이용할 때, 가장 자주 만나는 오류가 install(설치)와 관련된 오류입니다.
본 글에서는 설치와 관련된 오류의 해결 방법들을 정리합니다.
현 시점(2020.09.12)에 konlpy의 issues에 등록된 이슈( 265개 ) 중 install(설치)와 관련된 이슈는 132개(약 50%)입니다.
많은 사용자가 konlpy 사용할 때 설치의 어려움을 겪고 있습니다.
실제로 이슈에 등록된 install 관련 오류들입니다.
- 오류 1, Anaconda python2.7ver SyntaxError: invalid syntax
- 오류 2, Java package 'kr.lucypark.kkma' is not valid 오류
- 기타, python2 jpype 오류 해결 방법
이제 오류들을 어떻게 해결했는지에 대해 정리해보겠습니다.
오류 내용은 conda 환경에서 jpype 설치가 제대로 안되는 경우입니다.
이 문제를 해결하는 방법은 conda에서 제공하는 jpype를 설치하면 됩니다.
conda python2.7에서 jpype 설치시 실패합니다.
$ conda install -c conda-forge jpype1
간단해 보일 수도 있지만, conda 환경에 맞는 라이브러리 설치가 필요한 내용으로, jpype 문서에 관련 내용이 설명되어 있습니다. doc
JPype can be installed as pre-compiled binary if you are using the Anaconda Python stack. Binaries are available for Linux, OSX, and windows on conda-forge.
Ensure you have installed Anaconda/Miniconda. Instructions can be found here.
Install from the conda-forge software channel:
conda install -c conda-forge jpype1
jupyter에서 konlpy의 kkma를 찾지 못하는 오류입니다.
이 문제는 konlpy가 설치된 python과 jupyter가 실행된 python binary가 달라 발생하는 문제입니다. (그렇게 생각됩니다.)
jupyter에서 kkma를 실행시 AttributeError: Java package 'kr.lucypark.kkma' is not valid
와 같은 메세지가 발생됩니다.
jupyter 환경에서 python binary의 설치 경로와 konlpy의 설치 여부를 확인합니다.
#jupyter에서 사용하는 python3 path 확인
!which python3
/path/to/bin/python3
#python3 path를 base로 konlpy의 kkma가 잘 있는지 확인
!ls /path/to/lib/python3.7/site-packages/konlpy
__init__.py constants.py data internals.py stream
__pycache__ corpus.py data.py java tag
about.py csvutils.py downloader.py jvm.py utils.py
!ls /path/to/lib/python3.7/site-packages/konlpy/java/bin/kr/lucypark/kkma
KkmaInterface$1.class KkmaInterface$3.class KkmaInterface.class
KkmaInterface$2.class KkmaInterface$4.class
이렇게 확인 후에 jupyter에서 konlpy를 다시 설치해서 문제를 해결할 수 있습니다.
konlpy를 사용할 때 jpype와 관련된 오류가 자주 발생합니다.
(주로 설치 관련)
jpype는 python에서 java로 개발된 라이브러리를 실행할 수 있게 해주는 것으로 kkma, komoran 등의 형태소 분석기를 지원하는 konlpy에서는 꼭 필요한 패키지입니다.
konlpy를 사용하면서 경험했던 오류 해결 방법을 정리합니다.
mac 환경(mac os catalina(10.15.6))입니다.
먼저 Jpype1을 0.7.0 버전으로 설치하고, konlpy를 설치해야 합니다.
$ pip install Jpype1==0.7.0
$ pip install konlpy
konlpy를 바로 설치하면, 아래와 같은 오류를 마주하게 됩니다.
Jpype 최신 버전을 설치하면서 python2.x의 문법과 맞지 않아 syntax 오류가 발생합니다.
$ pip install konlpy
...
Collecting Jpype1
Using cached JPype1-1.0.2.tar.gz (748 kB)
ERROR: Command errored out with exit status 1:
command: /Users/daniellee/test_konlpy_py2/.venv/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/75/nt617n5n4r5c13k8fhkg9gy00000gn/T/pip-install-BFZydt/Jpype1/setup.py'"'"'; __file__='"'"'/private/var/folders/75/nt617n5n4r5c13k8fhkg9gy00000gn/T/pip-install-BFZydt/Jpype1/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/75/nt617n5n4r5c13k8fhkg9gy00000gn/T/pip-pip-egg-info-vNtKpB
cwd: /private/var/folders/75/nt617n5n4r5c13k8fhkg9gy00000gn/T/pip-install-BFZydt/Jpype1/
Complete output (10 lines):
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/private/var/folders/75/nt617n5n4r5c13k8fhkg9gy00000gn/T/pip-install-BFZydt/Jpype1/setup.py", line 21, in <module>
import setupext
File "setupext/__init__.py", line 21, in <module>
from . import build_ext
File "setupext/build_ext.py", line 121
print("LIB = %s" % library, file=fd)
^
SyntaxError: invalid syntax
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
konlpy는 한국어 자연어처리의 진입점이라고도 생각됩니다.
가장 쉽게 사용할 수 있고 다양한 형태소 분석기를 지원해서 사용도가 매우 높습니다.
이런 konlpy의 발전을 위해서는 설치에서 마주할 수 있는 다양한 오류들에 대한 적절한 가이드가 필요하다고 생각됩니다.
본 글이 그런 부분에서 조금이나라 도움이 되면 좋겠습니다.
수정사항이 있다면 [email protected]으로 연락부탁드립니다.
감사합니다.