파이썬은 다양한 모듈을 바탕으로 편리하게 코딩을 할 수 있다는 장점이 있는 언어이지만 각 모듈/라이브러리 별로 지원 버전 범위가 다 다르기 때문에 버전관리가 어렵다는 단점이 있다.
하지만 아나콘다에서 제공하는 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 #설정 적용
맥북 처음으로 쓰는데 혹시 아나콘다로 가상환경을 쓰시나요? 아나콘다 pyenv둘다 해 놓으셨는데 어떤걸 선호하시는지 궁금해서요!!