본문 바로가기
Back-end/Python

[개발환경] 가상환경 virtualenv

by 허도치 2019. 11. 19.

  가상환경을 사용하는 목적은 프로젝트 관리의 용이성 때문이다. 간단한 예를 들어 설명해보자, 크롤러를 만들기 위해서 selenium, scrapy, requests, bs4 등 다양한 패키지 설치를 하였고, 이후에 웹 어플리케이션을 만들기위해 Flask를 설치했다. 이제 Flask로 만든 웹 어플리케이션을 배포하기 위해 [ pip freeze > requirements.txt ]명령을 실행하게 되면 어떻게될까? 웹 어플리케이션은 Flask 패키지 한개만 필요한데 이전에 크롤러를 만들면서 설치한 패키지들까지 포함되면서 불필요한 패키지들이 포함되는걸 볼 수 있다.

 

  그래서 프로젝트별로 개발환경을 구축하기위해 가상환경에 Python을 생성하여 해당 프로젝트에 필요한 패키지들만 관리하는 것이다.

 

 

1. 설치

1
2
3
~]$ pip install virtualenv
~]$ virtualenv --version
16.7.7
cs

 

2. 가상환경 생성

1
~]$ virtualenv .venv
cs

    # [ .venv ]를 주로 사용함.

    # 유닉스 계열의 OS는 파일명 앞에 [ . ]이 있으면 숨김파일로 지정됨.

    # 기본적으로 설치된 패키지를 제외하려면 [ --no-site-packages ] 옵션을 사용하면 됨.

       ( 최신 버전에서는 기본값으로 지정됨 )

 

 

3. 가상환경 실행

1
2
3
4
5
6
7
8
9
10
11
# windows
~> ".venv/Scripts/activate"
(.venv) ~> #실행완료
 
# linux or mac
~]$ source .venv /bin/activate
(.venv) ~]$ #실행완료
 
# 테스트
(.venv) ~]$ python --version
Python 3.7.4
cs

    # windows랑 linux, mac의 실행 방법의 차이가 있으나, [ activate ]를 실행하는 것은 동일함.

    # 실행이 완료되면 command-line 앞에 (.venv)가 붙게됨.

 

 

4. 가상환경 종료

1
(.venv) ~]$ deactivate
 
~]$ #종료완료
cs

 

댓글