Data Engineering - ANACONDA를 이용한 가상환경 생성 / 제거 / 활성화 방법 및 가상환경 이론 정리

David's Data Science·2021년 9월 14일
0

가상환경

프로젝트 진행 시, 쉽고 빠르게 작업을 진행할 수 있도록 필요에 맞는 패키지의 환경을 사용할 수 있는 환경이다.

특징:

1. 원하는 패키지를 언제든 사용할 수 있다.

프로젝트를 위한 패키지를 이용할 때, 필요한 버전이 달라지면 그 때 마다 기존 패키지를 삭제하고 원하는 버전의 패키지를 재설치 해야 한다. 이 같은 수고로움을 해결해 주는 역할로 가상환경을 사용한다.

예를 들어 PANDAS 패키지라고 할 때, 가상환경_1에서는 PANDAS 버전 1.1.2을 사용하고, 가상환경_2에서는 PANDAS 버전 1.1.0을 사용하는 것이다. 이것은 단연 파이썬 외부 패키지 뿐 아니라, 파이썬 버전도 다르게 설정이 가능하다.

2. 패키지의 독립적인 환경을 제공해준다.

위와 같은 내용이라고 볼 수도 있다, 패키지의 충돌을 방지해 환경요소로 인한 에러를 줄일 수 있고, 개발 환경부터 배포 환경에 똑같이 맞춰 진행할 수 있는 장점이 있다.

ANACONDA환경으로 Python 사용하기

가상환경 관리 툴킷 중 하나인데, 데이터 사이언스에 적합한 기능들로 구성되어있는 툴킷이어서 가장 널리 사용하는 것으로 알려져있다. ANACONDA의 수 많은 기능들 중 가상환경과 패키지 관리를 돕는 명령어 도구인 CONDA를 이용해 보겠다.

CONDA를 이용한 가상환경 기본 명령어

ANACONDA PowerShell이 아닌 git bash terminal을 사용했지만, CONDA를 이용한 명령어 자체는 크게 다르지 않다.

conda --version: 아나콘다 가상환경의 버전을 확인한다.

$ conda --version




[out put]

conda 4.10.1

conda env list: 현재 존재하는 conda 가상환경의 리스트를 출력한다.

$ 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 가상환경이름 python = 버전: conda 가상환경을 생성한다.

$ 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 가상환경명: 가상환경을 특정 환경으로 활성화시킨다.

$ conda activate practice
(practice)

위와 같이 활성화가 되면 python 3.7버전의 가상 환경을 진행하게 된 것이다. 고로 local 컴퓨터에 python이 설치 되어있지 않더라도 python을 사용할 수 있다.

가상환경에 들어오게 되면 그 의미로 이미지의(practice)와 같이 표시가 된다. 이는 터미널, 사용하는 개발환경에 따라 약간씩은 차이가 나긴한다.

conda deactivate: 현재 활성화 되었던 가상환경을 비활성화한다.

$ conda deactivate

이미지와 같이 비활성화를 하기 전과 후를 보면 (practice)로 가상 환경 표시가 있다가 사라진 것을 확인할 수 있다. 이런식으로 필요한 가상 환경을 사용하다가 다른 패키지를 필요로 하면 비활성화 후 다른 가상 환경을 활성화하여 사용할 수 있다.

conda remove -n 환경명 --all: 특정 가상 환경을 삭제한다.

$ conda remove -n practice --all

이번에도 생성할 때와 마찬가지로 현재 해당 가상 환경에 내재되어있는 패키지들이 list up되고, 삭제작업을 진행시킬지 재확인하는 물음이 나온다. y와 엔터 입력하면 삭제가 완료된다.

패키지에서 일부를 삭제하길 원하거나, 다른 명령어를 진행하고 싶다면 conda remove -h를 통해 확인 할 수 있다.

알아 둘 사항

  1. (practice)와 같이 가상환경이 표시가 안되는 경우도 있으니 잘 확인해보고 진행해야 한다.
  2. 시작하기 전에 conda deactivate를 진행하여 가상환경 내에서 다른 가상환경으로 활성화 되지 않도록 한다.
  3. local computer의 위치에 상관없이 활성화가 가능하다. 필요하면 즉시진행!!
profile
데이터 사이언티스트가 되고싶은 David입니다.

0개의 댓글