본문 바로가기

aws

lambda docker 이미지에 mecab 설치

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
FROM public.ecr.aws/lambda/python:3.8
 
 
# install build libs
RUN yum groupinstall -"Development Tools" \
    && yum install -y which openssl
 
# setup package
RUN yum install -y glibc ld-linux.so.2 curl git patch
RUN yum install -y gcc-c++ java-1.8.0-openjdk-devel python3 python3-devel python3-pip make diffutils
 
# setup python
RUN python3 -m pip install --upgrade pip
RUN python3 -m pip install konlpy mecab-ko awslambdaric
 
COPY ./requirements.txt /opt/
RUN pip install --upgrade pip && pip install -/opt/requirements.txt
 
 
 
# mecab 설치
RUN cd /tmp
RUN curl -LO https://bitbucket.org/eunjeon/mecab-ko/downloads/mecab-0.996-ko-0.9.2.tar.gz
RUN tar zxfv mecab-0.996-ko-0.9.2.tar.gz
RUN cd mecab-0.996-ko-0.9.2 && ./configure && make && make install -b
 
 
# mecab-ko-dic 설치
RUN cd /tmp
RUN curl -LO https://bitbucket.org/eunjeon/mecab-ko-dic/downloads/mecab-ko-dic-2.1.1-20180720.tar.gz
RUN tar -zxvf mecab-ko-dic-2.1.1-20180720.tar.gz
RUN cd mecab-ko-dic-2.1.1-20180720 && ./autogen.sh && ./configure && make && sh -'echo "dicdir=/usr/local/lib/mecab/dic/mecab-ko-dic" > /usr/local/etc/mecabrc' && make install -b
 
# mecab-python 설치
RUN git clone https://bitbucket.org/eunjeon/mecab-python-0.996.git
RUN python -m pip install /tmp/mecab-python-0.996
 
# libmecab.so.2 파일 설치
RUN yum install -y https://rpmfind.net/linux/centos/8-stream/AppStream/x86_64/os/Packages/mecab-0.996-1.module_el8.4.0+589+11e12751.9.x86_64.rpm
 
WORKDIR /var/task
COPY app.py .
 
CMD ["app.lambda_handler"]
cs

 

koNLPy에서 제공하는 설치 스크립트는 동작하지 않는다. (왜인지 모르겠으나 make install에서 에러가 발생한다.)

또한 libmecab.so.2파일이 정상적으로 다운로드가 되지 않고 넘어가는 이슈가 있었다.

 

mecab 패키지 하나씩 분석 하면서 만들었다. (대략 이틀이나 걸렸다.)

회사에서 해당 이미지를 쓰고 있으니, 당분간은 잘 작동할 것이다. 화이팅!