[소셜분석] 윈도우) Anaconda3(Python), JAVA, KoNLPy 라이브러리 설치
파이썬 및 KoNLPy 설치과정에서 겪은 험난한 사투를 블로그에나마 기록한다.
1. 윈도우 계정명은 무조건 영어로
내 노트북은 예전에 다른 분이 윈도우10을 설치해주셨는데 그때 계정명을 한글 이름으로 설정해두셨다. 그 결과 대학 생활 내내 R과 R Studio의 정상적인 구동이 어려웠고, Anaconda3은 실행조차도 못했다. 인터넷에 검색해보면 명령 프롬프트로 administrator 계정을 생성해 변경하는 방법을 안내하는데, 이 방법은 이미 오랫동안 잘 사용하고 있는 계정이면 불가능하다. 기존에 생성된 온갖 데이터들의 경로가 전부 꼬이기 때문. 그러므로 계정명이 한글인 사람들은 그냥 윈도우10을 초기화하자...^^ 괜히 고집부리면서 이것저것하다가 컴퓨터 먹통될 뻔했다.
R과 R Studio의 경우 계정명이 한글이어도 인터넷에 널리 알려진 tmp 방식을 이용하면 어느정도 해결가능하다. 혹은 서브계정을 영문명으로 만들면 정상적으로 실행된다. 그런데 Anaconda(Python)의 경우 서브계정에서도 패키지와 라이브러리 등이 설치되지 않고 무한로딩되는 현상이 발생했다. 그래서 구글코랩으로 연명하다 최근에야 윈도우10을 초기화했다.
2022-07-13일자로 윈도우 초기화 과정에서 오프라인 계정 생성이 불가능했고 마이크로소프트 계정만 생성할 수 있었다. 마이크로소프트 계정으로 만들면 계정 앞글자 4개만 따온 계정명이 생성된다. 내 경우에 마소 계정명이 너무 구려서 로컬 계정을 추가로 만든 뒤 마이크로소프트 계정을 없애는 과정을 진행했다. 현재까지는 별다른 오류없이 작동된다.
Administrator 계정 생성 > 관리자 권한 명령 프롬프트에서 ren C:\Users\구계정명 신계정명 입력 (자세한 설명: https://answers.microsoft.com/ko-kr/windows/forum/all/%EC%9C%88%EB%8F%84%EC%9A%B010/16602844-2334-4195-975d-d968ae129e4c ) 이 방식을 진행하면 계정명은 바뀌는데 폴더명은 그대로이다. 공식 마소 설명이 반쪽짜리...^^ 그래서 방법을 다시 찾다가 레지스트리 편집에 들어가 ProfileImagePath의 값 데이터를 바꾸는 방식으로 폴더명 또한 변경해주었다. (자세한 설명: https://harryp.tistory.com/1043 ) 앞서 설명했듯이 이미 사용하던 계정이라 데이터가 많이 쌓인 경우에는 가능하면 시도하지 말자. 사실 이 방식을 예전에도 시도해보았는데 그때는... 온갖게 꼬여서 컴퓨터 망가질 뻔했다.
계정명이 영문이기만 하면 Anaconda3의 설치는 수월하다. 공식 홈페이지에서 최신 파일을 다운받은 뒤 실행하면 끝.
- Anaconda3 다운로드 주소: https://www.anaconda.com/
2. KoNLPy 설치하기
KoNLPy 라이브러리는 설치가 까다로워서 인터넷에 자세한 설치법과 온갖 오류 해결글들이 잘 올라와있다. 나도 설치 과정에서 별별 오류를 겪어본 결과, 무조건 KoNLPy 측에서 안내하는 설치 방법을 순서대로 확실하게 따라야 해결할 수 있음을 발견했다.
- KoNLPy 설치 방법: https://konlpy-ko.readthedocs.io/ko/v0.4.3/install/
1. JAVA (버전 1.7 이상) 설치하기
아래 주소에서 Java SE Development Kit 18.0.1.1 downloads > 본인 운영체제 종류 > x64 Installer 다운로드 > 다운로드 후 실행
2. JAVA_HOME 설정하기
파일탐색기 > 로컬 디스크 (C:) > Program Files > JAVA > jdk-18.0.1.1 > bin > server > jvm.dll 파일 경로 복사 > 윈도우 검색: 고급 시스템 설정 보기 > 고급: 환경변수 > 사용자변수: 새로 만들기 > 변수명: JAVA_HOME, 값: 아까 복사한 jvm.dll 파일 경로
사람마다 경로가 약간씩 다를 수 있으나 jvm.dll이 들어있는 폴더를 찾아야함은 동일하다.
3. JPype1 (버전 0.5.7 이상) 다운받기
아래 주소에서 "JPype1 - ( ) - 본인 파이썬 버전 - 본인 운영체제 종류 - 본인 파이썬 bit"에 해당하는 파일을 다운받는다. 내 경우에는 파이썬이 3.9.X 버전, 64비트, 윈도우 기반이므로 "JPype1-1.4.0-cp39-cp39-win_amd64" 파일을 다운받았다.
- JPype1 다운로드: https://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype
# Python 버전 찾는법
# Jupyter Notebook > 웹브라우저 노트북 > python 파일 생성
import sys
print(sys.version)
# Anaconda bit = Python bit
4. JPype1 설치하기
먼저 JPype1 파일을 Python 명령 프롬프트 실행 경로와 동일한 위치로 옮긴다. 명령 프롬프트 경로는 Anaconda Powershell Prompt를 실행하면 나오는 (base) PS C:\Users\~~~ > 이다. 옮긴 뒤 웹브라우저 노트북이 아닌 Anaconda Powershell Prompt 창에서 명령어를 입력해서 설치하는걸 권장한다.
pip install --upgrade pip
pip install JPype1-1.4.0-cp39-cp39-win_amd64.whl
pip install Konlpy
이제 웹브라우저 노트북에 가서
from konlpy.tag import Kkma
kkma = Kkma()
를 실행해본다. 여기에서 오류가 발생하면 뭔가 잘못된거다.
KoNLPy 오류
내가 겪은 오류는 다음과 같다.
- DLL 초기화 루틴을 실행할 수 없습니다.
- name 'jpype' is not defined
- dll load failed 지정된 모듈을 찾을 수 없습니다
해결 방법은... 하 이것저것 다 해보고 컴퓨터 재부팅하자.
- visual c++ redistributable for visual studio 2015 재설치 (설치완료 후 재부팅 필수)
- JAVA_HOME 재설정
- JPype 버전, 비트 확인
- JPype 경로 확인
- Anaconda, JAVA, JPype 재설치 (버전, 비트 주의하기)
- JPype 설치 시 웹브라우저가 아닌 Anaconda 명령 프롬프트에서 진행
가 주된 해결법인데 저거 다 해보고 재부팅하니까 되더라...^^ 그래서 정확히 뭐때문에 해결됐는지 알 수가 없는...... JAVA는 제어판에서 삭제할 수 있는데 Anaconda는 폴더 내에 있는 uninstall 프로그램을 실시해서 삭제해야한다. JPype는 아래 코드를 입력해 삭제한다.
# JPype1 삭제하기: Anaconda powershell prompt에 입력
pip uninstall JPype1
어쨌거나 설치 실패할 줄 알았는데 결국 성공해서 다행
문제는 설치하느라 시간을 다 소모해서 다른 일을 하나도 못했다ㅋㅋ