M1 Part11 - konlpy.tag MECAB on M1 (Updated + on Colab)

그는사악해·2023년 1월 2일
3

M1_Settings

목록 보기
14/18
post-thumbnail

INTRO

M1을 사용하다보면, 마주하는 난관들이 있다. 그 중 하나가 MECAB이 아닐까 싶다. 사실은 KONLPY의 다른 형태소분석기 친구들을 사용하려면, JAVA SDK(?)가 필요한 것으로 알고 있다. 그래서 zulu 혹은 ORACLE JAVA가 설치가 필요하다고 알고 있다. 하지만, 인생 피곤하게 살고 싶지 않은 필자는 쏘쿨하게 MECAB만 설치한다. 그런데, 어떤 M1에서는 두 줄이면 깔끔하게 MECAB이 깔리는데, 동일한 사양의 어떤 M1에서는 다른 방법으로 설치를 해야 설치가 된다. (아직 원인을 모르겠다.)

필자의 최종적으로 2가지 설치 방법을 찾았는데, 이 포스트를 통해서 여러분의 삽질을 줄일 수 있기를 바란다. 지금부터 시작해본다.

Update 2023.03.23 on Colab

Colab에서의 설치가 오늘 오전부터 안 될 수도 있을 것이다. 필자의 경우도 그간 다음과 같은 코드로 항상 Colab에서 mecab을 설치해서 사용했었는데, 오늘부터 안 먹혀서 새로운 방법(이 포스트에서 제안된 방법 중 하나인 Solution 2) ) 방법으로 진행했더니 설치가 되었다.

03.22까지 잘 된 방법

!pip install -qqq konlpy
!curl -s https://raw.githubusercontent.com/konlpy/konlpy/master/scripts/mecab.sh | bash -x

03.23부터 먹히는 방법

이 방법은 M1에서도 동일하게 먹히는 방법이기도 하다.

!pip install konlpy
!pip install mecab-python
!bash <(curl -s https://raw.githubusercontent.com/konlpy/konlpy/master/scripts/mecab.sh)

출처: 필자의 스샷

TMI

1)  필자가 작년 풋풋한 수강생이었을 시절, 윈도우 노트북 gram을 썼는데, 당시에 MECAB과 konlpy 라이브러리를 설치하는데 꽤 애를 먹었던 기억이 있다. 잘 몰라서 그런 것도 있지만, 원래 개발쪽은 '세팅이 반'인 것 같다.
2) 이 글을 쓰게 된 이유 중 하나는 이게 별 거 아닌 것 같은데 가끔 시간을 엄청 소모하고 사람 환장하게끔 만들 때가 있다. 그런 것을 줄이고자 쓴다.
3) 나는 내 M1 맥북에 MECAB이 매우 평화롭게 깔렸는데, 내 제자(전 제자, 현재는 팀원)가 mecab을 설치할 때 어려움이 있었다. 처음에는 잘 몰라서 잘못 하신 줄 알았는데, 아니었다. 그 때 어찌저찌 설치하긴 했는데, 하면서 "어...? 뭐지? 왜 안 되지?" 라는 말을 되풀이하며 설치했다.

INSTALL

> conda ACTIVATE env

: conda 가상환경에 진입하자. 설치가 안 되면, 그 가상환경을 날리면 되기 때문이다.

conda activate ren

Solution 1) So Simple Way

: 매우 심플한 방법이다. 다음 코드 두 줄을 치면, 깔끔하게 된다. (필자가 주로 설치하는 방법)

pip install konlpy
bash <(curl -s https://raw.githubusercontent.com/konlpy/konlpy/master/scripts/mecab.sh)

SAMPLE

: 테스트도 해봐야겠지?

from konlpy.tag import Mecab
mecab = Mecab()

sample = "이 족팡매야" # OCN 드라마 '나쁜녀석들'에서 마동석이 주로 하는 대사다.
mecab.morphs(sample)

필자는 주로 이러한 방법으로 MECAB을 설치했다. 그런데, 이 방법이 먹히지 않을 때가 있다.

Solution 2) mecab-python

위 'Solution 1)'로 진행했는데도 불구하고, 막상 Mecab을 사용하려고 하면 에러가 나는 경우가 있다.

이런 경우에는 다음 코드를 설치해보자. 정말 여러 번의 삽질과 구글링의 결과로 찾은 Solution이다. 그러면 정상적으로 작동한다! 출처

$ pip install mecab-python 
  1. pip install mecab-python
    : 위 Solution 1) 인 !pip install konlpy를 먼저하고 실행

  2. mecab 다시 설치
    : 원래는 위 pip install mecab-python를 하고 진행해야한다.

    bash <(curl -s https://raw.githubusercontent.com/konlpy/konlpy/master/scripts/mecab.sh)

  3. 확인

Solution 3) 좀 번거로운 방법

: 제자의 M1 아이맥에 설치가 안 되서 찾다가 찾은 방법이다. 소소메모님의 블로그 포스트를 참고했다.(보고 그대로 하면 되긴 한다.) 하지만, 이 방법을 그대로 하기 전에, 가상환경에 그대로 진입하고 해보자.

  • 혹시 모르니, 특정 경로에 'tmp' 폴더를 만들고 진행해보자.
    • 따라 치다보면, 'tmp' 폴더가 필요할 수도 있다.
    • 필자의 경우, DOWNLOADS에 'tmp' 폴더를 생성하고 그대로 진행했다.
  • 스크린샷은 따로 첨부하지 않겠다. 왜냐하면.... 다음 스샷처럼 매우 길기 때문이다...

아래 순서대로 한 줄씩 그대로 따러서 실행해보자.

1. mecab-ko 설치

## 한 줄씩
cd /tmp
sudo wget https://bitbucket.org/eunjeon/mecab-ko/downloads/mecab-0.996-ko-0.9.2.tar.gz
sudo tar xvf mecab-0.996-ko-0.9.2.tar.gz

cd /tmp/mecab-0.996-ko-0.9.2
sudo ./configure
sudo make check
sudo make install

2. mecab-dic 설치

## 한 줄씩
cd /tmp
wget https://bitbucket.org/eunjeon/mecab-ko-dic/downloads/mecab-ko-dic-2.1.1-20180720.tar.gz
tar zxvf mecab-ko-dic-2.1.1-20180720.tar.gz

cd /tmp/mecab-ko-dic-2.1.1-20180720
sudo ./autogen.sh
sudo ./configure
sudo make
sudo make install

3. mecab-python 설치

## 한 줄씩
cd /tmp
git clone https://bitbucket.org/eunjeon/mecab-python-0.996.git
cd mecab-python-0.996
python3 setup.py build
python3 setup.py install

여기까지 무사히 왔다면, 설치를 잘 한 것이다. 이제 테스트를 해보자.

SAMPLE

from konlpy.tag import Mecab
mecab = Mecab()

sample = "니 내 누군지 아니?" 
mecab.morphs(sample)

아마 잘 될 것이다.
이렇게하면 mecab 설치가 잘 될 것이다. (라고 말하고 싶지만 M1에서는 장담 못 한다.)

profile
데이터를 베어라

2개의 댓글

comment-user-thumbnail
2023년 3월 6일

sudo: wget: command not found라고 뜨는 분들은 brew install wget을 먼저 실행하신 뒤에 하시면 잘됩니다!

답글 달기
comment-user-thumbnail
2023년 5월 20일

큰 도움이 되었습니다ㅜㅜㅜㅜ정말 감사합니다!!!!!!!

답글 달기