venv는 프로젝트별로 Python 패키지 설치 환경을 분리하는 표준 라이브러리 도구이다.
원리
기존 Python 설치를 바탕으로 가상 환경을 만들고 그 환경의 실행 파일과 패키지 경로를 사용한다. 활성화는 셸이 해당 실행 파일을 쉽게 찾도록 돕는다.
Python 주요 기능 |
|---|
Python 리스트 컴프리헨션 · Python 모듈 · Python 예외 처리 · Python venv · Python asyncio |
Python dataclass · Python pathlib · Python 타입 힌트 · Python unittest · Python 생성기 |
예시
python -m venv .venv로 환경을 만들고 해당 환경의 Python으로 필요한 의존성을 설치하면 다른 프로젝트와 버전 충돌을 줄일 수 있다.
주의할 점
운영체제나 보안 권한까지 격리하는 가상 머신은 아니다. 가상 환경 폴더를 그대로 이동하기보다 의존성 정보를 기록하여 대상 위치에서 다시 만드는 편이 적합하다.