최근에 Apple M1에서 빅데이터 분석을 돌려볼 일이 있어 python3.9를 설치하고 아래 라이브러리들을 설치했는데… 설치가 안되는 것이다.

  • pandas
  • numpy
  • Scikit-learn
  • matplotlib

인터넷에 검색을 해 보니 이에 대한 해결 방법이 몇 가지 돌아다녀 이를 정리해 본다.

아예 intel로 띄우는 방법

M1의 arm64 확인은 아래와 같다.

>uname -m
arm64

arch명령을 이용하여 현재 터미널을 arm에서 x86으로 변경한다(rosetta활용).

>arch -x86_64 zsh
>uname -m
x86_64

이러면 기존에 pip로 설치했던 라이브러리들 그전처럼 pip install 로 쓸 수 있다.

하지만 여기에는 몇 가지 단점 존재하니…

  • Rosetta 에뮬레이션의 성능적 한계
  • 실행할 때 마다 arch로 바꿔줘야 하는 불편함

그래서 라이브러리별 각개 격파를 시도했다.

라이브러리별 각개 격파

brew install 을 통해 설치 할 수 있는 것이 있다. 이를 먼저 설치 (Homebrew 페이지에서 확인)

  • numpy
  • scipy

pandas와 scikit-learn은 설치시 blas가 맞지 않아 발생하는 문제이다.

brew로 openblas를 설치하고 이를 활용하여 pandas와 scikit-learn를 설치한다.

>brew install openblas

>OPENBLAS="$(brew --prefix openblas)" pip3 install pandas
>OPENBLAS="$(brew --prefix openblas)" pip3 install sklearn

(참조 : https://stackoverflow.com/questions/65825346/pip-install-pandas-results-in-error-python3-8-pycharm-apple-silicon)

Matplotlib도 pip로는 바로 설치가 안되는데 이는 BigSur에서 이미지 라이브러리가 없어서이다. 이는 아래 설치로 해결할 수 있다.

>brew intall libjpeg

>pip3 install matplotlib

P.S : 위와같이 해도 잘 안된다면… 그냥 Anaconda환경 만들고 conda환경으로 하는게 속 편하다.. ㅎㅎ