Programming/Python

[Python] venv 사용법

w00se 2021. 8. 3. 22:41

https://pixabay.com/ko/photos/목초지-일몰-자연-811339/

 

venv는 Python의 가상 환경을 만들어 주는 모듈입니다.

python 공식 문서에서는 아래와 같이 venv에 대해 설명합니다.

 

venv에 생성된 각 가상 환경은 고유한 파이썬 바이너리(이 환경을 만드는 데 사용된 바이너리 버전과 일치함)를 가지며 자신의 사이트 디렉터리에 독립적으로 설치된 파이썬 패키지 집합을 가질 수 있습니다.

 

즉, venv를 통해 설치된 가상 환경은 전역 site-packages(Python을 설치할 때 생성된 site-packages 디렉터리)에 독립적인 site-packages를 가집니다.

이를 통해 가상 환경을 사용하면 독립적으로 패키지를 관리할 수 있는 장점이 있으며, 프로젝트 별로 가상 환경을 만들어 작업을 진행한다면 프로젝트 간의 패키지 버전 충돌을 사전에 방지할 수 있습니다.

 

venv는 내장된 모듈이므로 별도의 설치는 필요하지 않습니다.

 

모듈 사용법

- 가상환경 생성

#가상환경 생성
python -m venv [가상환경 이름]

'가상 환경 이름'에는 원하는 이름을 지정하면 됩니다.

추가로 대부분 python 프로젝트에서 가상 환경 이름을 venv로 지정한다고 합니다😊

 

- 가상환경 실행

#가상환경 실행[window]
(move to Scripts directory)
activate

#가상환경 실행[mac]
source bin/activate

 

두 운영체제의 명령어 모두 생성한 가상 환경 폴더로 이동 후 실행할 때의 예시입니다.

 

가상 환경이 정상적으로 실행되면 터미널의 왼쪽에 '가상 환경 이름'이 표시된 것을 확인할 수 있습니다.

venv 실행 모습

 

- 가상환경 종료

deactivate

 

추가 설정

팀 프로젝트를 진행할 때 가상 환경을 직접 공유하지 않고 사용된 패키지 목록만 공유를 할 수 있습니다.

팀원 들은 프로젝트에 사용된 패키지 목록을 이용해서 필요한 패키지를 설치할 수 있습니다.

이를 위해 아래와 같이 추가 설정이 필요합니다.

 

- gitignore 설정

# .gitignore
[가상환경 이름]/

프로젝트 디렉토리에 .gitignore을 생성하고 가상 환경 디렉터리를 추가하면 가상 환경은 git에 의해 tracked 되지 않습니다.

 

- 설치된 패키지 목록 저장

# 설치된 패키지 목록을 requirements.txt 파일에 저장합니다.
pip freeze > requirements.txt

 

- 패키지 목록에 명시된 패키지 설치

# -r 옵션은 requirements file에 명시된 패키지를 다운로드 받는 옵션 입니다.
pip install -r requirements.txt

 


참고 자료

https://docs.python.org/ko/3.7/library/venv.html - python 공식 문서 venv

 

읽어 주셔서 감사합니다 :)

잘못된 부분이 있다면 댓글로 편히 알려주세요😊

 

'Programming > Python' 카테고리의 다른 글

[Python] Pandas로 csv 파일 통합하기  (0) 2021.08.05