M1 pro에서 anaconda (conda) 환경 생성 및 활성화하기-shell에서 conda activate 안되는 에러 해결까지

2022. 2. 5. 16:32스터디/Python

이번에 M1 pro로 된 맥북으로 바꾸고 개발 환경으로 활용하기 위해 Anaconda를 설치했습니다. Anaconda는 Homebrew를 통해 설치했으며, 설치 방법은 다음 글을 참고해주세요.

 

(다음 글 - 작성중)

 

설치 중 몇 가지 에러가 발생하여, 이를 해결할 수 있는 방법을 정리하였습니다. 환경 꼭 확인하시고 참고해주세요.

 

  • 설치환경: M1 Pro
  • 사전준비: Anaconda 설치 (런치패드에서 Anaconda Navigator가 확인되는 상태여야 합니다.)
  • 작업환경: terminal

 

발생 에러

  • CommandNotFoundError: Your shell has not been properly configured to use ‘conda activate’.

 


1. 환경 생성하기(conda create env)

conda create -n <env-name> python=<python-version>

conda를 활용하여 환경을 생성하는 방식은 Windows와 동일합니다.

<env-name>은 환경 이름, <python-version>은 환경에서 사용할 파이썬의 버전입니다.

<괄호> 는 원하시는 내용으로 바꾸어 입력해주시면 됩니다.

저의 경우, 환경이름은 keras_env, 파이썬 버전은 3.7로 아래와 같이 생성하였습니다.

 

(실제 입력 코드)

conda create -n keras_env python=3.7

 

(파이썬 버전에 관하여 - 2022.01.05 기준)

저의 경우, keras 설치를 위하여 환경을 구축했습니다. keras의 경우, tensorflow가 필요로 합니다.

Tensorflow는 파이썬 버전 3.6~3.9에 대해 지원한다고 안내되어있습니다.

그리고, 애플에서 제공하는 tensorflow 설치 가이드에는 3.8, 3.9 버전만 지원한다 명시되어 있습니다.

이에 따라 저는 3.7 버전을 설치하였습니다. (이후 Note를 잘못 이해한 것을 확인하고 3.9버전으로 다시 진행했습니다. 하지만, tensorflow-metal을 설치하는 방식은 base를 새로 만들고, anaconda와 전혀 다른 체계를 사용하여 anaconda에서 제공하는 다양한 프로그램을 이용할 수 없었습니다. 그래서 저의 경우, anaconda를 삭제하였으며 tf-metal을 설치하여 어떻게 효율적으로 사용할 수 있는지 고민중에 있습니다.

해당 내용은 아래 링크 참고해주세요. 

 

TensorFlow

시스템에 TensorFlow를 설치하는 방법을 알아봅니다. pip 패키지를 다운로드하거나 Docker 컨테이너에서 실행하거나 소스에서 빌드합니다. 지원되는 카드에서 GPU를 사용 설정합니다.

www.tensorflow.org

 

 

Metal - Apple Developer

Find presentations, documentation, sample code, and resources for building macOS, iOS, and tvOS apps with the Metal framework.

developer.apple.com

 

(*) 환경 생성여부 확인 [에러 및 대안]

환경이 정상적으로 구축되었는지 확인하기 위해서는 활성화(activate)를 해주어야 합니다.

저의 경우, 바로 활성화가 되지 않고 [그림1]과 같이 에러가 발생했었습니다.

그래서 생성여부는 Anaconda Navigation에 바로 접근하여 확인했습니다. [그림2]

 

[그림1] conda activate 실행 시 에러
[그림2] Anaconda Navigator에서 환경 생성 여부 확인하기

 

 

2. Anaconda 활성화 하기 (conda activate env)

[그림1]에서 확인되는 에러의 설명을 잘 읽어보면, '해당 터미널에서 'conda activate'를 사용할 수 없다.'라고 이야기하고 있으며, 이를 사용하기 위해서 어떻게 해야하는지 아래에 설명하고 있습니다.

 

시키는 대로 하기 위해서는 본인이 사용하는 shell이 어떤 것인지를 확인해야 하는데요, 저의 경우 [그림3]과 같이 terminal 창의 상단에서 확인할 수 있었습니다.

[그림3] shell 종류 확인하기

(1) shell 설정하기

conda init <SHELL-NAME>

제가 사용하는 shell은 [그림3]에서 확인할 수 있듯, 'zsh'입니다.

그래서 저는 아래 코드와 같이 입력하였으며, 설치 결과는 [그림4]와 같습니다.

 

(실제 입력 코드)

conda init zsh

[그림4] shell 설정 명령 실행 결과

(2) activate 실행 확인 (결과 확인)

이전의 과정까지 완료하고 나면, terminal을 종료 후 다시 시작해줍니다.

그럼 [그림5]와 같이 (base)가 함께 shell에 표현되는 것을 확인할 수 있습니다.

이는 anaconda와 연동이 잘 된 것으로 볼 수 있습니다.

 

이제 환경을 활성화 하는 다음의 코드를 입력하면, 잘 작동하는 것을 확인할 수 있습니다.

conda activate <env-name>

[그림5] conda activate 실행 확인

 

(실제 입력 코드)

저는 앞서 설명한 것과 같이 환경이름은 'keras_env'로 설정하였습니다.

conda activate keras_env