가상환경을 사용하는 목적은 프로젝트 관리의 용이성 때문이다. 간단한 예를 들어 설명해보자, 크롤러를 만들기 위해서 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 |
'Back-end > Python' 카테고리의 다른 글
[크롤링] 무작정 시작하기 (5) - Item (1) | 2019.11.21 |
---|---|
[크롤링] 무작정 시작하기 (4) - Selenium + Scrapy (0) | 2019.11.20 |
[크롤링] 무작정 시작하기 (3) - Spider (0) | 2019.11.19 |
[크롤링] 무작정 시작하기 (2) - 프로젝트 준비 (0) | 2019.11.19 |
[크롤링] 무작정 시작하기 (1) - 패키지 선택 (2) | 2019.11.19 |
댓글