윈도우에 Mecab 설치(Python)

이현우·2022년 12월 21일
0

1. 본인의 C:/ 드라이브에 mecab 폴더 생성 (C:/mecab)

  • C:/mecab
  • MeCab을 위도우에 설치하기 위해 기본 path 셋팅이 고정되어 있기 때문에 C:\mecab에 설치해야 합니다!
  • 만약 변경을 원하는 경우
    1. 'mecabrc' 파일에서 'dicdir = 경로' 수정
    2. 'libmecab.dll'을 내가 설정하고 싶은 경로로 재컴파일링한 파일로 교체해주면 됩니다.
    3. 소스는 https://github.com/Pusnow/mecab-ko-dic-msvc 의 releases를 확인해보면 있는 'Source Code.zip'을 확용하면 되지만 이러한 방법은 비추드립니다.

2. mecab-ko-msvc 다운로드

  • 아래 링크에서 우측 중단 Releases선택(2022/12/21 기준 release-0.9.2-msvc-4가 최신)
  • 본인의 윈도우 시스템 종류 64bit / 86bit 확인 후 선택하여 최신 버전 다운로드
    • 비트 확인 법
    • 윈도우 아이콘 마우스 우클릭 → 검색 → 시스템 정보 → 시스템 종류 (x64 or x32 ... ) 확인
  • 다운 받은 zip 파일을 mecab 폴더에 압축 해제 (하위 폴더 생성 X 파일만 풀어지도록)

3. mecab-ko-dic-msvc 다운로드

  • 아래 링크에서 우측 중단 Releases 선택(2022/12/21 기준 mecab-ko-dic-2.1.1-20180720-msvc-3가 최신)
  • mecab-ko-dic-msvc.zip 다운로드
  • 다운 받은 zip 파일을 mecab 폴더에 압축 해제 (하위 폴더 생성 X 파일만 풀어지도록)

아래와 같은 파일 및 폴더형식이 mecab 폴더안에 들어있어야 정상적으로 작동합니다.

4. mecab-python-msvc (Python wheel) 다운로드

  • 아래 링크에서 우측 중단 Releases 선택(2022/12/21 기준 mecab_python-0.996_ko_0.9.2_msvc-4가 최신)
  • cp3X, → 3X가 파이썬 버전 / 자신의 파이썬 버전 확인 후 32 bit / 64 bit 확인하여 다운로드
    • 파이썬 버전 확인 : python --version
    • 저는 윈도우64비트에 python 3.9버전이므로 mecab_python-0.996_ko_0.9.2_msvc-cp39-cp39-win_amd64.whl 를 설치하였습니다.
  • 설치된 whl 파일을 python → site-packages로 이동하여 install 하겠습니다.
  • 보통 python 설치를 하였다면 c:/Users/사용자본인(저는admin)/AppData/Local/Programs/Python/Python39/Lib/site-packages 에 있습니다.
  • 이제 다운로드 한 whl파일을 해당 폴더로 이동한 뒤 명령창을 통해 실행합니다.
    • c:/Users/사용자본인(저는admin)/AppData/Local/Programs/Python/Python39/Lib/site-packages 위치에서 pip install 설치한파일이름(저는 mecab_python-0.996_ko_0.9.2_msvc-cp39-cp39-win_amd64.whl)
    • 가상환경 사용 시 본인 [가상환경 폴더]/Lib/site-packages로 옮겨서 pip install 진행하시면 됩니다.

필수 설치

사용 방법

  • konlpy에서 가져 오는 방법과 MeCab 자체를 불러오는 방법이 있으며, 메서드명이나 반환되는 타입이 조금씩 다르다.
  • 저는 개인적으로 konlpy를 사용한 것이 데이터를 보는 것이나 다루기가 편한 것 같습니다.
  • 주의할 점은 두 방법 다 window로 사용할 때 필수 설치 파일들 미설치 시 사용 불가합니다.
  • konlpy를 사용하는 경우 기존 Okt, twitter 등 tag의 morphs(형태소 단위 구문 분석), nouns(명사만 추출), phrases(어절만 추출), pos(형태소 단위로 쪼갠 후 각 품사들을 태깅해서 리스트형태로 반환) 등의 메서드를 동일하게 사용할 수 있다.
# 1. konlpy 이용
from konlpy.tag import Mecab
# mecab-python 미 다운로드 시 에러 발생으로 사용 불가

Traceback (most recent call last):
  File "C:\Users\admin\AppData\Local\Programs\Python\Python39\lib\site-packages\konlpy\tag\_mecab.py", line 77, in __init__
    self.tagger = Tagger('-d %s' % dicpath)
NameError: name 'Tagger' is not defined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\admin\Desktop\Hyunwoo\danawa_ml_news\main.py", line 107, in <module>
    mecab = Mecab("c:\\mecab\\mecab-ko-dic")
  File "C:\Users\admin\AppData\Local\Programs\Python\Python39\lib\site-packages\konlpy\tag\_mecab.py", line 82, in __init__
    raise Exception('Install MeCab in order to use it: http://konlpy.org/en/latest/install/')
Exception: Install MeCab in order to use it: http://konlpy.org/en/latest/install/
# MeCab 사용
import MeCab
# mecab-python 미 다운로드 시 사용 불가한 점은 마찬가지
profile
GitHub - https://github.com/jenu8628

0개의 댓글