아나콘다를 사용하는 이유는 무엇보다도 가상환경을 사용하기 위해서이죠. 아나콘다 가상환경 생성하는 방법을 살펴보겠습니다.
목차
아나콘다 가상환경 생성
아나콘다 가상환경 생성 방법을 함께 살펴보겠습니다. 우선 가상환경이름을 어떻게 할 것인지 결정해야 합니다. 가급적이면 쉽고 편하게 가상환경을 바로 식별할 수 있도록 짓는 편이 좋습니다.
py312_64와 같이 한다면 python 3.12 버전이며 64비트 기반의 파이썬 가상환경임을 바로 알아차릴 수 있겠죠. 저는 버전과 비트를 병기해서 py312_64라고 작성해 보겠습니다.
그리고 python=3.12.4와 같이 옵션으로 파이썬 버전을 작성해 주시면 python 3.12.4 버전으로 가상환경이 구축됩니다.
conda create -n py312_64 python=3.12.4
ShellScript위의 명령어를 실행하면 아래 그림과 같이 Platform은 linux-64이며 가상 환경을 설치할 경로(environment location)와 설치할 파이썬 버전이 3.12.4임은 확인할 수 있습니다. 아나콘다를 설치한 경로가 ~/anaconda3이므로 ~/anaconda3/envs 아래에 새로운 가상환경 디렉토리가 생성됩니다.
![그림 1. 아나콘다 가상환경 생성 명령어 실행 결과](https://osg.kr/wp-content/uploads/2024/07/image-158.png)
이어서 아래와 같이 가상환경 생성에 필요한 새로운 패키지들을 설치할 것인지 물어봅니다. y를 눌러서 진행해 줍니다.
![그림 2. 아나콘다 가상환경 생성에 필요한 기본 패키지 설치](https://osg.kr/wp-content/uploads/2024/07/image-157.png)
이제 설치가 다 되면 아래와 같은 메시지가 나타납니다.
![그림 3. 아나콘다 가상환경 생성 완료된 후 안내 메시지](https://osg.kr/wp-content/uploads/2024/07/image-159.png)
아나콘다 가상환경 활성화
Anaconda 가상환경 활성화를 해야만 해당 가상 환경에서 작업을 할 수 있습니다. 아나콘다 가상환경 생성이 완료되었으니, 새로 만든 환경을 활성화 해 보도록 하겠습니다. 활성화는 위의 그림에서 확인했듯이 conda activate 명령어를 사용합니다.
conda activate py312_64
ShellScript정상적으로 가상환경이 활성화 되면 명령프롬프트 제일 앞에 (base)가 (py312_64)로 바뀐 것을 알 수 있습니다. 이제 py312_64 가상환경에 들어온 것이죠. 버전 확인을 해 보면 위에서 설치한 3.12.4 버전이 설치된 것을 확인할 수 있습니다.
![그림 4. Anaconda 가상환경 활성화](https://osg.kr/wp-content/uploads/2024/07/image-161.png)
아나콘다 가상환경 목록 확인
현재 운영체제에 생성했던 가상환경 목록을 모두 확인하고 싶다면 conda env list 명령어를 사용하면 아래와 같이 가상환경 목록을 확인할 수 있습니다. 중간에 별표(*)가 있는 가상환경이 현재 활성화된 가상환경인 것도 확인 가능합니다.
![그림 5. Anaconda 가상환경 목록 확인](https://osg.kr/wp-content/uploads/2024/07/image-162.png)
제일 아래에 방금 생성한 py312_64 가상 환경이 보이시죠? 그리고 각 가상환경 이름 옆에 해당 가상환경의 경로가 어떻게 되는지 나와 있습니다. 필요할 때 참고하면 됩니다.
아나콘다 가상환경 비활성화
Anaconda 가상환경 비활성화를 원하는 경우에는 conda deactivate 명령어를 사용하면 현재 활성화된 가상환경이 비활성화됩니다. base 가상환경을 사용하고 있다면 base 가상환경이 활성화되며, 그렇지 않다면 비활성화만 진행됩니다. 아래의 경우에는 base 가상환경을 사용하기 때문에 비활성화 후 가상환경이 (base)로 변경된 것을 확인할 수 있습니다.
![그림 6. Anaconda 가상환경 비활성화 및 확인](https://osg.kr/wp-content/uploads/2024/07/image-163.png)
Anaconda 가상환경을 이용해야 하는 이유
여러분은 Anaconda를 왜 설치하셨나요? 여러가지 이유가 있을 수 있겠죠? 선생님이 설치하라고 해서, 다른 개발자가 써보면 좋다고 하거나, 현재 일하는 회사에서는 아나콘다를 꼭 써야 한다든가 해서 말이죠.
여러 이유가 있을 수 있지만, Anaconda를 사용하는 핵심은 바로 독립적인 Python 개발 환경을 구축하기 위해서입니다.
Node.js로 개발해 본 적이 있으신가요? Node.js로 개발을 해 본 분이라면 package.json으로 Node.js 패키지들을 node_modules 하위에 설치하는 걸 아실 거예요. 그러는 이유는 해당 프로젝트에서 특정 패키지의 특정 버전을 사용하도록 지정하기 때문이고, 라이브러리 간의 호환성 이슈와 같은 것도 있기 때문이라는 건 다들 아시죠?
예를 들어서 A 프로젝트에서는 aaa 라이브러리 버전을 3.5를 씁니다. 그리고 B 프로젝트에서는 aaa 라이브러리 3.3을 씁니다. aaa 버전 3.3은 mmm 버전 1.2를 필요로 합니다. aaa 버전 3.5는 mmm 버전 1.8을 필요로 합니다. 이제 대충 감 오시죠?
만약 mmm 버전 1.2에서 1.8까지 올라가는 동안 deprecated된 기능이 있는데, A 프로젝트 환경에서 B 프로젝트를 구동하려고 하면, deprecated된 함수가 없다고 하겠죠. 물론 궁극적으로야 deprecated되는 것들은 향후에 개선을 해야겠지만, 당장 급하게 이것저것 개발해야 하는 상황에서 그러기는 쉽지 않습니다.
매번 패키지를 지웠다가 깔았다가 할 수는 없는 노릇입니다. 그래서 가상환경을 쓰면 깔끔하게 정리가 됩니다.
Node.js에서 해당 프로젝트 디렉토리 하위에 node_modules를 이용하여 관리하는 것처럼, 파이썬은 가상환경을 자신이 희망하는 별도의 디렉토리로 관리할 수 있습니다. Python에서는 python에서 만든 가상환경 디렉토리에 패키지를 설치합니다. 하지만 Anaconda를 사용하신다면 Anaconda 디렉토리 하위에서 가상환경 디렉토리를 별도로 관리합니다.
정리
여기까지 Anaconda 가상환경 생성, 생성한 가상환경 목록 확인 방법과 아나콘다 가상환경 활성화 그리고 아나콘다 가상환경 비활성화 과정까지 함께 살펴봤습니다.
관련 자료
아나콘다 가상환경 생성 문서, 목록 확인 문서, Conda Activate 문서를 참고했습니다.