Python 가상 환경 venv 사용법 정리
Python 프로젝트를 진행할 때 패키지 충돌, 버전 관리, 글로벌 오염 등의 문제를 방지하려면 가상 환경(virtual environment)을 사용하는 것이 필수입니다. Python에서는 표준 라이브러리로 제공되는 venv 모듈을 이용하여 손쉽게 가상 환경을 생성하고 관리할 수 있습니다. 해당 글에서는 venv 사용법에 대해 정리합니다.
가상 환경이란?
가상 환경(Virtual Environment)은 **Python 실행 환경과 패키지를 특정 프로젝트에만 한정해서 사용하는 공간**입니다. 프로젝트마다 독립적인 pip와 site-packages 디렉터리를 갖기 때문에, 전역 Python 환경과 분리되어 안전하게 패키지를 관리할 수 있습니다.
가상 환경을 사용하면 다음과 같은 장점이 있습니다:
- 프로젝트마다 서로 다른 패키지 버전을 유지할 수 있음
- 전역 Python 환경을 오염시키지 않음
- 팀 개발 시
requirements.txt로 의존성 공유가 용이함
venv로 가상 환경을 생성하는 방법
표준 라이브러리로 venv 모듈이 포함되어 있습니다. 아래 명령어로 가상 환경을 생성할 수 있습니다:
python -m venv myenv
myenv 디렉터리에 새로운 가상 환경이 생성됩니다.
이 안에는 독립적인 Python 인터프리터와 pip가 포함되어 있습니다.
가상 환경 활성화
가상 환경을 활성화하면 해당 환경에 설치된 패키지를 사용할 수 있게 됩니다.
Windows (CMD):
myenv\Scripts\activate
Windows (PowerShell):
.\myenv\Scripts\Activate.ps1
macOS / Linux / WSL:
source myenv/bin/activate
활성화되면 프롬프트 앞에 (myenv) 표시가 나타납니다. 이 상태에서 pip install(예를 들어 pip install -r requirements.txt)을 하면 전역 폴더는 영향을 주고 않고 해당 가상 환경에만 패키지가 설치됩니다.
가상 환경 비활성화
가상 환경을 비활성화하려면 다음 명령어를 입력합니다:
deactivate
프롬프트에서 (myenv)가 사라지면 성공적으로 비활성화가 된 것 입니다.
그럼 시스템 기본 Python 환경으로 돌아갑니다.
패키지 설치 및 requirements.txt 저장
구성해놓은 환경을 다시 같은 환경으로 재현하기 위해서는 requirements.txt로 설치한 패키지들을 관리하는 것이 좋습니다. 예를 들어 Flask와 requests 패키지를 설치하고:
pip install flask requests
설치된 패키지를 아래와 같이 requirements.txt로 저장할 수 있습니다.
pip freeze > requirements.txt
venv와 virtualenv의 차이
Python 3만 쓴다면 venv로 충분합니다. 복잡한 구조나 도구 연동이 필요한 경우에는 virtualenv 또는 poetry, pipenv 등을 고려할 수 있습니다.
감사합니다.
'프로그래밍 > Python' 카테고리의 다른 글
| Python expand() 및 repeat() (16) | 2025.07.12 |
|---|---|
| Python squeeze 및 unsqueeze 함수 - view와의 차이 (4) | 2025.07.12 |
| Python reshape 함수 - view, flatten과의 차이 (20) | 2025.07.11 |
| Python ArgumentParser 정리 (16) | 2025.07.10 |
| Python pip란? pip 사용법 (12) | 2025.07.04 |