맥북 M1 파이썬 머신러닝 환경 세팅(feat. 아나콘다)

JH Bang·2022년 5월 15일
5

ML

목록 보기
1/3
post-thumbnail
post-custom-banner

아나콘다 설치

파이썬은 다양한 모듈을 바탕으로 편리하게 코딩을 할 수 있다는 장점이 있는 언어이지만 각 모듈/라이브러리 별로 지원 버전 범위가 다 다르기 때문에 버전관리가 어렵다는 단점이 있다.

하지만 아나콘다에서 제공하는 conda 패키지 관리자를 이용하면 손쉽게 파이썬 머신러닝 프로그래밍 환경을 구축할 수 있다. conda는 의존성 관리 성능이 pip보다 설치하거나 제거할 패키지간의 의존성을 더 잘 파악한다. 이 외에도 기존의 패키지를 자동으로 업그레이드하거나 다운그레이드해주기도 한다.

2022년 5월 6일부터 아나콘다에서 M1 MacOS를 지원한다는 공지가 올라왔다.
https://www.anaconda.com/blog/new-release-anaconda-distribution-now-supporting-m1

공식 홈페이지에서 아나콘다를 다운받아 설치하도록 한다.

설치 후 터미널에 접속하면 아나콘다가 자동으로 활성화 된 상태의 기본환경(base) 표시를 볼 수 있다.

활성화 비활성화 명령어

$ conda activate
$ conda deactivate

자동 활성화를 끄고 싶다면..

$ conda config --show #아나콘다 전체 설정 확인 
$ conda config --show | grep auto_activate_base #자동 활성화 옵션 상태
$ conda config --set auto_activate_base False #자동 활성화 끄기
$ conda config --set auto_activate_base True #자동 활성화 켜기

가상환경 세팅

$ conda activate #아나콘다 활성화
$ conda search python #설치 가능한 파이썬 버전 확인
$ conda create --name [가상환경 이름] python==[버전] #생성
$ conda info --envs #가상환경 조회
$ conda activate [가상환경 이름] #가상환경 활성화
$ source activate [가상환경 이름] #해당 가성환경 적용
$ python --version #파이썬 버전 확인
$ conda deactivate #해당 가상환경 끄기(base로)
$ conda remove --name [가상환경 이름] --all #가상환경 + 설치 패키지 삭제

해당 가상환경에 필요한 라이브러리를 설치한다.

#가상환경이 활성화된 상태에서..
$ conda install numpy 
$ conda install pandas
$ conda install matplotlib
$ conda install seaborn
$ conda install sklearn 
$ conda install tensorflow
$ conda install keras
$ conda install jupyter

되도록이면 conda를 사용하고, 설치하려는 패키지가 아나콘다 서버에 없을 경우 pip를 사용하도록 한다.
필자의 경우는 sklearn이 설치가 잘 안돼 pip를 이용했다.

주피터 노트북에 가상환경 추가

$ conda activate [가상환경 이름] //원하는 가상환경으로 진입
$ conda install ipykernel
$ python -m ipykernel install --user --name [가상환경 이름] --display-name "[주피터 가상환경 이름]"
$ jupyter notebook //주피터 노트북 실행

주피터 노트북에서 가상환경 삭제하려면

$ jupyter kernelspec list #목록 확인
$ jupyter kernelspec uninstall [가상환경 이름]

실행된 주피터 노트북에서 설치 확인

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import sklearn
import tensorflow as tf

ctrl + c로 주피터 노트북 종료

 conda list  #패키지 리스트 확인 

아나콘다 완전 삭제

conda install anaconda-clean #Install the Anaconda-Clean package from Anaconda Prompt 
anaconda-clean --yes #Remove all Anaconda-related files and directories without being prompted to delete each one
which anaconda #Remove entire anaconda installation directory from macOS
rm -rf YOUR-ANACONDA-DIRECTORY

머신러닝 모듈 참고

✔︎ numpy
선형대수 계산. CPython에서만 동작 패키지

✔︎ sympy
인수 분해, 미분, 적분 등 심볼릭 연산 기능 제공 패키지

✔︎ scipy
고급 수학 함수, 수치적 미적분, 미분 방정식 계산, 최적화, 신호 처리 등에 사용하는 다양한 과학 기술 계산 패키지

✔︎ pandas
테이블 형태의 데이터를 다루는 데이터프레임(DataFrame) 자료형을 제공. 자료의 탐색이나 정리에 유용한 패키지

✔︎ matplotlib
각종 그래프나 챠트 등을 그리는 시각화 기능을 제공하는 패키지

✔︎ seaborn
Matplotlib 패키지에서 지원하지 않는 고급 통계 차트를 그리는 통계용 시각화 기능 제공하는 패키지

✔︎ sklearn
scikit-learn은 NumPy, SciPy, matplotlib를 바탕으로 만들어진 머신러닝 프레임워크. classification, regression, clustering 등을 수행

✔︎ tensorflow
구글에서 만든 딥러닝 및 머신러닝 프레임워크

✔︎ keras
tensorflow 위에서 동작하는 딥러닝용 라이브러리로 컴퓨터 비전을 위한 합성곱 신경망, 시퀀스 처리를 위한 순환 신경망을 지원

📍만약 아나콘다를 사용하지 않는 유저라면 맥북(또는 리눅스)에서는 pyenv 프로그램을 이용해 파이썬 버전 관리를 하도록 한다. 그러나 버전관리의 어려움으로 권장하지는 않는다.

$ brew install pyenv #pyenv 설치
$ brew uninstall pyenv #pyenv 삭제

다음과 같이 설치가 되는 것을 확인 할 수 있다.

버전 확인

$ pyenv --version


이제 설치 가능한 파이썬 버전을 확인한다.

$ pyenv install --list

파이썬 중 원하는 버전을 설치하도록 한다. 최신 버전을 원한다면 공식 사이트에 접속해서 확인 후 설치하도록 한다.

$ pyenv install [파이썬 버전]  #설치
$ pyenv versions #추가된 버전 확인


특정 버전을 사용하는 가상환경을 추가한다.

$ pyenv virtualenv [파이썬 버전] [가상환경 이름]


virtualenv가 없다면 설치하도록 한다.

$ brew install pyenv-virtualenv

만들어진 가상환경을 실행한다.

$ pyenv activate [가상환경 이름] //가상환경 활성화
$ source deactivate #가상환경 종료
$ pyenv uninstall [가상환경 이름] #가상환경 삭제
$ pyenv uninstall [파이썬 버전] #해당 버전 삭제


(참고)만약 bash가 아닌 zsh이라면 아래와 같은 오류가 발생한다.
이 경우 ~/.zshrc 설정에 아래 문장을 추가한다.

$ source ~/.zshrc 	#설정 적용
profile
의지와 행동
post-custom-banner

1개의 댓글

comment-user-thumbnail
2023년 4월 3일

맥북 처음으로 쓰는데 혹시 아나콘다로 가상환경을 쓰시나요? 아나콘다 pyenv둘다 해 놓으셨는데 어떤걸 선호하시는지 궁금해서요!!

답글 달기