티스토리 뷰

개발/TIL

[M1 Mac] gensim Library 설치

hahagarden 2021. 10. 2. 02:48

파이썬 생활밀착형 프로젝트 책의 7장 네이버 뉴스 요약 프로젝트를 시작했다.

사전 준비하기에서 $ pip install gensim BeautifulSoup4 lxml requests 를 하라고 하는데 사전준비부터 막혔다..


gensim

gensim은 자연어를 처리하는 라이브러리로, 여러가지 함수가 있는데 내가 사용할 것은 긴 글을 요약하는 summarization의 summarize()함수이다.

 

gensim라이브러리를 설치하기위해 $ pip3 install -- upgrade gensim을 입력했지만

엄청난 빨간 에러메세지와 무한 Installing build dependencies ... /

 

gensim 공식 홈페이지
gensim-PyPI

  • gensim 라이브러리는 현재 Python 3.8까지 검증이 됐다 (나는 현재 Python 3.9.7)
  • numpy와 scipy가 우선 설치되어있어야 함

그런데 scipy는 M1에서 pip으로 설치하지 못한다고 한다 ~^^!!

scipy를 설치하기 위해 conda를 사용하고, conda를 설치할  installer는 miniforge를 사용한다.

 

miniforge 공식 github

  • miniforge : M1 conda package 지원 (arm64(Apple Silicon))

miniforge를 이용해 conda를 설치하고나면, conda에서 가상환경을 하나 만들고,

그 환경 안에서 numpy, scipy, gensim 을 설치하여 프로젝트를 진행한다. 이 프로젝트 전용 가상환경이 생기는 것이다.


conda (by miniforge)

$ brew install miniforge

나는 homebrew가 설치되어있기 때문에 brew로 miniforge를 설치했다.

 

$ conda info

conda info 는 conda의 정보를 알려준다.

 

$ conda create -n test python=3.8

이름이 test인 가상환경을 만들고, gensim이 3.8까지 검증되었기 때문에 python version을 3.8로 설정해주었다.

(python=3.8을 빼면 최신버전 3.9.7로 설치되고, python 3.9.7에서도 gensim이 깔리긴 했다.)

 

$ conda activate test
$ conda init zsh

이제 새로 만든 test 가상환경에 접속한다.

그러나 conda init (Shell_name) 에러가 발생하는데, zsh shell이기 때문에 $ conda init zsh 를 입력하고 shell을 다시 시작하면 기본환경인 (base)로 시작하는 것을 볼 수 있다. 괄호 안이 환경 이름이다.

shell을 다시 시작한 후 $ conda activate test 를 통해 (test)환경에 접속한다.

(test) 환경에서 $ conda info를 보면, python version이 (base) 환경의 python version인 3.9.7로 뜨지만

가상환경을 만들 때 python=3.8 을 지정해주었기 때문에 (test) 환경 내에서 $ python -V 을 해보면 Python 3.8.12 이다.

 


Installing gensim

앞으로 (test) 환경 내에서 작업한다.

$ conda install numpy
$ conda install scipy

gensim이 depend하는 numpy와 scipy를 (test) 환경 내에 설치한다. (설치 중 y/n이 뜨면 y를 누른다.)

 

$ pip3 install --upgrade gensim

gensim을 설치하기 위해 gensim 공식사이트의 안내대로 $ conda install -c conda-forge gensim 을 실행했는데,

PackagesNotFoundError : -gensim 이 떠서 $ pip3 install --upgrade gensim로 설치했다. 

설치 성공!!!

 


gensim 3.8.3

그러나...내가 사용하려고 한 gensim의 summarize() 가 2021.03. 업데이트되면서 삭제됐다.

$ pip3 install --upgrade gensim으로 설치한 것은 최신버전인 gensim 4.0.0.

공식 홈페이지를 들어가보면 gensim 3.8.3 에서 summarization.summarizer 을 사용할 수 있다는 것을 확인할 수 있다.

gensim 공식 github
gensim 3.8.3 공식 홈페이지 documentation

 

$ pip3 install gensim==3.8

$ pip3 install gensim==3.8 을 통해 이전 버전으로 다시 설치해주었다.

 

 VS Code Select Interpreter

앞으로 이 프로젝트는 gensim이 깔려있는 conda의 (test) 가상환경에서 작업한다.

VScode 좌측하단에서 Python Interpreter을 설정할 수 있다.

내가 만들어 놓은 여러 가상환경 중 해당되는 Python 3.8.12 ('test':conda)를 선택한다. 

from gensim.summarization.summarizer import summarize 실행이 아주 잘 된다.


Finally

M1에서 gensim 설치가 안돼서 애먹다가 conda를 사용하게 됐는데

이렇게 프로젝트별로 가상환경을 개설하고 편리하게 작업할 수 있게 되었다.

코딩을 시작하면서 pip3, python3, 라이브러리, conda, 버전, 가상환경 등.. 필요성도 모르겠고 개념을 잡기가 어려웠는데

3일동안 이것저것 시도해보면서 조금 감이 잡힌 것 같다.

안될 때는 정~~말 답답하지만 Successfully installed 뜨는 순간 행복한 웃음을 참을 수 없다!!

반응형
댓글