설치 하며
- jdk 가 작동을 안하고
- 커널 끼리 충돌해서 꺼지고
- word cloud 가 실행이 안되고
등등의 일이 있었어서 이거는 글로 간단하게나마 정리해야겠다 싶어 정리해둡니다.
참고로 제 환경은 파이썬이고, 윈도우 입니다.
konlpy를 검색해서 이 글을 보러 오신 분은 분명히 파이썬 일테니 인사합니다. 반갑습니다.
복사 붙여 넣기 코더의 길로 온 걸 환영합니다.
1. Conda 가상환경 만들어서 하기
가상 환경 없었으면 포맷해야되나 어떻게 해야되나 머리 정말 아팠을 것 같습니다.
꼭 반드시 nltk를 위한 가상 환경을 따로 만들어 설치를 진행해 주도록 합시다.
그리고 뭘 어떻게 해도 더 이상 설치가 진행이 안된다?
깔끔하게 환경을 지우고 재시작 하는 겁니다.
conda env remove --n 콘다환경이름
없어졌습니다. 잘가~
그러고는 가벼운 마음으로 콘다 환경을 다시 설치합니다.
conda create -n nltk_setting python=3.8
그렇죠. Permission denied 가 뜨는 겁니다.
저 같은 경우는 파일이 미처 채 지워지지 않아서 이미 동일한 파일이 존재하기 때문에 뜨는 거였습니다.
저는 직접 miniconda의 env 다이렉토리에 들어가서 해당 파일을 지워줬습니다.
다시 환경을 만들어주고, activate 환경 해서 기껏 만든 환경을 활성화 시켜 줍니다.
conda activate nltk_setting
쥬피터도 설치해 줍니다.
conda install -y jupyter ipython
2. JAVA 설치는 17로 해주기
22년 8월 21일 기준 JDK 최신 버전은 18 입니다.
JDK 18은 호환이 안돼서 오류가 발생하더라고요.
그리고 다른 분들은 JDK 버전 여러개 깔아도 상관 없다고 하는데 저는 17과 18이 동시에 있자 커널 충돌이 발생해서
JDK 18은 지워줘야 했습니다. ( 간단하게 제어판 가서 지워줬습니다.
캡쳐는 버전 18로 했지만 버전 17이어야 합니다.
x64 Installer (가운데) 것으로 설치해줬습니다.
시작 버튼에서 환경변수 검색해주면 간단하게 들어올 수 있습니다.
위에 Path 에서 jdk 파일 주소와, 그 파일 안의 bin 주소 두 개를 넣어주세요.
그리고 시스템 변수에 JAVA_HOME 이라는 변수를 만들어 jdk 파일 주소를 또한 넣어주세요.
그리고 시스템 변수에 Path가 있는데 여기는 넣어줘도 되고 안넣어도 되는걸로 알고있습니다.
저는 혹시 몰라 jdk 파일 주소와 bin 주소를 똑같이 2개 넣어주었습니다.
그리고 참고로
Path 에 뜨는 순서는 곧 실행 순서라고 합니다.
가령 jdk 18 주소가 더 위에 있으면 jdk 18이 실행되는 식 입니다. 별건 아니지만 꿀팁인거 같아 적어놓았습니다.
실행 순위를 올리고 싶다면 적은 주소를 위로 옮겨주면 되겠죠?
설치 후에는 한번 재부팅 해주는 것도 잊지 맙시다.
3. 라이브러리들 설치
- 콘다 활성화
conda activate nltk_setting
- 콘다와 콘다 안의 기본 라이브러리들 업데이트
conda update -n base conda
conda update -y --all
- pip로도 설치를 해야하니 pip도 업데이트 해줍니다. 아래 코드 중 뭘 써도 같습니다.
python -m pip install --upgrade pip
pip install --upgrade pip
- konlpy 설치
pip install konlpy
- tweepy 설치 ( 최신 버전은 오류가 발생하기 때문에 3.10.0 버전으로 깔아줬습니다. )
pip install pip install tweepy==3.10.0
- jpype 를 설치해주어야 파이썬에서 java를 읽어올 수 있습니다.
( 이것도 호환성 문제로 버전 다운그레이드 해준다고 합니다. )
conda install -y -c conda-forge jpype1==1.0.2
- wordcloud 전에 pillow를 설치해주지 않으면 wordcloud가 작동하지 않습니다.
stack 에 돌아다녀 보니깐 까는 순서도 중요한 것 같습니다.
conda install pillow
- nltk 도 깔아줍니다.
conda install nltk
- 사이킷런 입니다. 이건 머신러닝을 돌릴 꺼여서 깔았어요.
conda install scikit-learn
- 워드 클라우드 입니다.
최신 버전이 호환성 문제가 있는 것 같아서, 이리저리 구글링 한 결과 성공했다고 하신 분의 코드를 찾아 설치해보니 작동이 원활히 진행되어 다음 코드를 소개합니다.
( 1차 출처는 보이지 않아 그냥 2차 출처만 가져왔습니다. )
코드 제공 : https://justjs.tistory.com/117
conda install -c https://conda.anaconda.org/conda-forge wordcloud
4. 작동 확인 및 nltk 패키지 (punkt, stopwords 설치)
단순히 쥬피터 노트북을 깐다고 ipykernel 까지 설치가 되는건 아닌가봐요..?
conda install -n nltk_setting ipykernel --update-deps --force-reinstall
nltk.download() 코드 치면, 다운로드 할 수 있는 창이 하나 뜨는데 All Packages 에서 punkt와 stopwords를 설치해줍니다.
konlpy에는 여러 가지의 형태소 분석 라이브러리가 있습니다.
그 중에서도 이전에 Twitter이라고 불리우던 라이브러리가 있는데 지금은 Okt라고 명칭이 바뀌었다고 합니다.
여튼 konlpy의 형태소 분석 라이브러리를 하나 가져와 객체를 만들어보니 잘 실행 되는걸 확인할 수 있었습니다.
그리고 참고로 처음 시도했을 때는 커널 충돌 오류가 발생했는데 껏다 키니깐 또 잘 되네요.
뭔가 잘 안될 때는 한번 씩 껏다 키는 것도 해줍시다.
wordcloud 가 잘 가져와집니다.
만약 pillow 가 안깔렸다면 pillow가 없다는 오류 가 뜰꺼고
pillow와 wordcloud 설치 순서가 잘못됐다면 wordcloud가 없다는 오류가 뜰꺼 였는데
오류 없이 잘 깔렸습니다. 정말 다행입니다.
오류가 뜬다면 아 정말 당연한 일이 벌어졌구나 하고 여기시고
오류가 뜨지 않는다면 아니 이게 무슨 어처구니 없는 일이 벌어졌단 말인가 하지만 오류가 뜨지 않았으니 내 자연어 처리를 즐겁게 해보기로 하겠네 라고 생각하고 하시면 될 것 같습니다.
FIN.
'근황 토크 및 자유게시판' 카테고리의 다른 글
[스쿨선발대] 데이터 사이언스 스쿨 넉달 후기 (0) | 2022.08.29 |
---|---|
[plt.imshow] RGB Range Error (0) | 2022.08.26 |
[네이버 검색 api] 052 에러 (0) | 2022.08.21 |
'float' object has no attribute 'replace' (pandas) (0) | 2022.08.20 |
[The Art Of ML] 데이터 기반의 문제 해결 (0) | 2022.08.07 |