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
두 운영체제의 명령어 모두 생성한 가상 환경 폴더로 이동 후 실행할 때의 예시입니다.
가상 환경이 정상적으로 실행되면 터미널의 왼쪽에 '가상 환경 이름'이 표시된 것을 확인할 수 있습니다.
- 가상환경 종료
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 |
---|