나는 m1 mac pro 를 사고 바로 window에서 사용했던 python , R, anaconda 등을 다운받았다.
아주 잘 사용하고 linear regression 까지는 아무 탈없이 사용하고 있었다. (sklearn과 nampy도 매우 잘됐다.)
이제 linear regression을 어느정도 학습해보고,
Artifical Neurons를 공부하면서, Tensorflow 패키지를 다운받으려 했다.
m1에서는 아직 anaconda3에서 Tensorflow를 호환해주지 않는다는 글들을 많이 봤고, 다운받으려니까 arror도 자꾸 발생했다.
그래서 anaconda3를 삭제하고 anaconda의 경로도 모두 삭제한 후에, Tensorflow를 miniforge를 사용하여 다운받아보았다.
하지만, 계속해서 anaconda와 miniforge 가 충돌해서 download되지 않았다.......
하루 종일 이걸로 끙끙 앓다가 포맷을 하기로 다짐했다...
그렇게 다시 python, R, xcode, iterm을 설치하고 Homebrew를 통해 Miniforge를 다운받았다.
(맥에 있는 터미널 보다 iterm2가 좋다길래 설치해서 사용해보고 있다.)
Install Homebrew
아래는 homebrew를 다운받기 위한 코드다. [ https://brew.sh/index_ko 사이트에 들어가면 homebrew 설명과 아래의 설치 코드를 가져올수 있다. ] Homebrew는 맥에 특화된 관리자다. 패키지를 설치/삭제/업데이트등 가능하다.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
설치가 되면, 마지막에 Next steps라는게 보일 것이다. 두 줄을 각각 실행 시켜준다.
$ echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/<USER_ID>/.zprofile
$ eval "$(/opt/homebrew/bin/brew shellenv)"
Install miniforge
homebrew를 설치했으면, brew를 통해 miniforge를 설치하자. <아! miniforge를 설치하기 전에 꼭 xcode를 설치해야한다.>
miniforge는 anaconda와 비슷한 역할을 하는 mac에 특화된 패키지라고 생각하면 된다.
brew install miniforge
하나 확인해야하는 것이 있다. python이 어디로 부터 나오는지 확인해야한다.
which python
/opt/homebrew/Caskroom/miniforge/base/bin/python
위와 같이 homebrew -> miniforge 로부터 나오면 된다.
처음에 anaconda를 깔고 삭제한 후에 miniforge를 설치했을 때는 계속 이부분이 anaconda로 나와서 문제가 있었다...
Install jupyter and Create Environment
다음 단계로는 jupyter를 깔아줘야한다.
jupyter는 모든 코드를 실행하는데, 사용할 일종의 IDE다. jupyter lab또는 pycham을 사용할 수 있다.
conda install -y jupyter
https://github.com/jeffheaton/t81_558 에서 tensorflow-apple-metal.yml 파일을 다운받는다.
tensorflow-apple-metal.yml 파일에서 미리 저장해 둔 가상환경 설정을 그대로 가져와서 다른 이름의 동일한 가상환경을 만든다.
[주의!] 꼭 tensorflow-apple-metal.yml 파일과 같은 디렉토리에서 작업을 해야한다. 그렇지 않으면, SpecNotFound error가 뜬다.
conda env create -f tensorflow-apple-metal.yml -n tf
tf 가상환경을 불러온 후에 jupyter notebook에서 패키지를 관리할 수 있도록 nb_conda를 설치해준다.
$ conda activate tensorflow
$ conda install nb_conda
Tensorflow 환경을 등록해준다. 아래 코드를 사용하면, jupyter notebook에 python 3(ipykernel)말고 python 3.9(tensorflow)가 생성되어 tensorflow를 사용할 수 있는 new notebook이 하나더 생성 된다.
python -m ipykernel install --user --name tensorflow --display-name "Python 3.9 (tensorflow)"
이제 jupyter notebook으로 들어가서 python3.9(tensorflow)로 .ipynb파일을 생성하면 tensorflow를 실행할 수 있다.
추후 tensorflow 활용 가능한 가상환경을 만들기 위해서는..
$ conda env create -f tensorflow-apple-metal.yml -n 원하는이름
$ conda activate 원하는이름
$ conda install nb_conda
마무리
Tensorflow를 설치하는 과정에서 스트레스를 많이 받았다.
그래도 이 과정에서 m1의 구조와 각 패키지 사이의 호환 문제들을 다룰 수 있었다. 또한, 디렉토리 경로들, conda를 활용한 가상환경 create, activate하는 것들도 배울 수 있었다. anaconda, miniforge가 무엇을 하는 패키지인지도 확인하는 계기가 되었다.
갈 길이 멀다. 시간을 많이 투자해서 실력을 기르자.
'Data_study > Mac m1 pro Setting' 카테고리의 다른 글
[Mac M1 pro] conda activate 오류 해결 방법 (0) | 2022.04.28 |
---|