프로젝트 진행 시, 쉽고 빠르게 작업을 진행할 수 있도록 필요에 맞는 패키지의 환경을 사용할 수 있는 환경이다.
프로젝트를 위한 패키지를 이용할 때, 필요한 버전이 달라지면 그 때 마다 기존 패키지를 삭제하고 원하는 버전의 패키지를 재설치 해야 한다. 이 같은 수고로움을 해결해 주는 역할로 가상환경을 사용한다.
예를 들어 PANDAS 패키지라고 할 때, 가상환경_1에서는 PANDAS 버전 1.1.2을 사용하고, 가상환경_2에서는 PANDAS 버전 1.1.0을 사용하는 것이다. 이것은 단연 파이썬 외부 패키지 뿐 아니라, 파이썬 버전도 다르게 설정이 가능하다.
위와 같은 내용이라고 볼 수도 있다, 패키지의 충돌을 방지해 환경요소로 인한 에러를 줄일 수 있고, 개발 환경부터 배포 환경에 똑같이 맞춰 진행할 수 있는 장점이 있다.
가상환경 관리 툴킷 중 하나인데, 데이터 사이언스에 적합한 기능들로 구성되어있는 툴킷이어서 가장 널리 사용하는 것으로 알려져있다. ANACONDA의 수 많은 기능들 중 가상환경과 패키지 관리를 돕는 명령어 도구인 CONDA를 이용해 보겠다.
ANACONDA PowerShell이 아닌 git bash terminal을 사용했지만, CONDA를 이용한 명령어 자체는 크게 다르지 않다.
$ conda --version
[out put]
conda 4.10.1
$ conda env list
[out put]
conda # conda environments:
#
base * C:\Users\anaconda3
s3s1n4 C:\Users\anaconda3\envs\s3s1n4
section33 C:\Users\anaconda3\envs\section33
기본적으로 (base)라는 가상환경이 있고, 이후 만들어놓은 s3s1n4, section33 이름의 가상환경들이 /envs/라는 가상의 폴더를 거쳐서 나오는 것을 볼 수 있다.
$ conda create -n practice python=3.7
위와 같이 코드를 실행시키면 중간에 각종 기본 패키지들이 list up 되고, 실행 시킬 것인지 재확인하는 물음 나온다. y를 입력 후 엔터입력하면 생성이 진행된다.
$ conda create -n practice2 python=3.8
$ conda env list
[out put]
# conda environments:
#
base * C:\Users\anaconda3
practice C:\Users\anaconda3\envs\practice
practice2 C:\Users\anaconda3\envs\practice2
s3s1n4 C:\Users\anaconda3\envs\s3s1n4
section33 C:\Users\anaconda3\envs\section33
가상환경이름practice2, 버전을 python 3.8로 변경해서 하나 더 만든 뒤 conda env list를 통해 확인해보니 잘 만들어진 것을 볼 수 있다.
$ conda activate practice
(practice)
위와 같이 활성화가 되면 python 3.7버전의 가상 환경을 진행하게 된 것이다. 고로 local 컴퓨터에 python이 설치 되어있지 않더라도 python을 사용할 수 있다.
가상환경에 들어오게 되면 그 의미로 이미지의(practice)와 같이 표시가 된다. 이는 터미널, 사용하는 개발환경에 따라 약간씩은 차이가 나긴한다.
$ conda deactivate
이미지와 같이 비활성화를 하기 전과 후를 보면 (practice)로 가상 환경 표시가 있다가 사라진 것을 확인할 수 있다. 이런식으로 필요한 가상 환경을 사용하다가 다른 패키지를 필요로 하면 비활성화 후 다른 가상 환경을 활성화하여 사용할 수 있다.
$ conda remove -n practice --all
이번에도 생성할 때와 마찬가지로 현재 해당 가상 환경에 내재되어있는 패키지들이 list up되고, 삭제작업을 진행시킬지 재확인하는 물음이 나온다. y와 엔터 입력하면 삭제가 완료된다.