Virtual Environment

박현희·2022년 5월 22일
0

Virtual Environment이란 가상환경을 말한다.
가상 환경은 독립된 공간을 만들어주는 기능

가상환경을 사용하는 이유

  • 파이썬 가상환경을 사용하는 이유는 여러 프로젝트를 진행하는데 있어,분리된 버전 및 패키지 설치 환경을 가질수 있기 때문이다.
  • 예를 들어, 하나의 로컬환경에서 파이썬 가상환경 없이 A라는 파이썬2 기반의 장고1.5 버전 프로젝트를 진행하고 그에 필요한 다양한 라이브러리들을 pip를 사용하여 설치했다고 가정했을때 A프로젝트를 진행하는 중에 B라는 파이썬3 기반의 장고2.2 버전 웹개발 프로젝트를 작업하라는 지시를 받았다. 그렇게 되면 사용자는 동시에 필요한 패키지 및 언어의 버전을 모두 설치하고 수동으로 관리해야 하는 어려움이 발생한다.
    이때 가상환경을 사용하면 각 프로젝트별로 독립적인 파이썬 버전 및 라이브러리가 설치된 개별적인 환경을 가지게 된다. 이는 개발 도중에도 편리하지만 나중에 배포 관리를 하는데 있어서도 편리하다.
  • 그리고 시간이 지남에 따라 패키지들이 업데이트되는데, 이것저것 업데이트를 하다 보면 서로 의존적인 패키지들 사이에 버전이 맞지 않아 호환이 되지 않는 경우들이 생긴다. 그렇다고 특정한 프로젝트 하나를 위해 언제 지원이 끊길지 모르는 예전 버전의 패키지를 로컬에 계속 유지할 수도 없고, 패키지가 업데이트되어 호환성 문제가 생길 때마다 프로젝트의 코드를 일일이 수정하는 것도 실질적으로 불가능하다.

가상환경 선택

  • 파이썬의 대표적인 가상환경 프로그램은 conda와 virtualenv가 있다.
  • conda는 미니콘다(Miniconda)와 아나콘다(Anaconda)로 나뉜다. 아나콘다는 수학과 과학 분야에서 사용되는 여러 패키지들을 묶어놓은 파이썬 배포판에 포함되어 있는 패키지 매니저이자 가상환경 관리 프로그램이다.
  • 아나콘다는 기존 파이썬에 비해 매우 용량이 크지만 데이터 분석을 위한 다양한 라이브러리를 갖춘 파이썬을 배포한다. 아나콘다는 가지고 있는 라이브러리의 용량이 크고 과정상 필요하지 않은 것들이 많아 파이썬이나 패키지에 익숙하지 않은 비개발자에세 추천한다.
    나는 프로젝트 진행시 미니콘다를 선택하여 사용하였다.

미니콘다 설치

#Mac 버전
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh

#Ubuntu 버전
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

chmod -R 755 Miniconda3-latest-Linux-x86_64.sh

./Miniconda3-latest-Linux-x86_64.sh
  • 설치는 위와 같이 명령어를 수행 후 진행한다.

  • wget 명령어가 실행이 안 될 경우, 아래와 같이 Mac / Ubuntu에 따라 brew / apt 명령어를 실행한다.

미니콘다 명령어


  • conda 가상환경 목록을 보는 명령어
conda env list
  • conda 가상환경 만들기
#파이썬3 버전의 환경만들기 
conda create -n "가상환경이름" python=3.8
  • conda 내가 만든 가상환경으로 활성화하기
conda activate "가상환경이름"
  • conda 실행된 가상환경 비활성화하기
conda deactivate
  • conda 가상환경 삭제하기
conda env remove -n "가상환경이름"
  • conda 가상환경 익스포트하기(배포용 yaml만들기)
conda env export> "가상환경이름.yaml"
  • conda 익스포트한 가상환경 임포트하기
conda env create -f "가상환경이름.yaml" 
  • 가상환경명은 프로젝트 명으로 통일하는 것으로 권장한다.

0개의 댓글