파이썬 가이드 16 가상 환경

🏷️ 파이썬

파이썬으로 여러 프로젝트를 진행하다 보면 "어? 이 프로젝트에선 requests 1.0 버전이 필요한데, 저 프로젝트는 2.0 버전이 필요하네?" 하는 상황을 마주하게 됩니다. 시스템에 설치된 파이썬과 라이브러리를 모든 프로젝트가 공유해서 쓰다 보면 이런 의존성 충돌 문제가 발생하기 쉽습니다.

이 문제를 해결해 주는 것이 바로 가상 환경(Virtual Environment)입니다. 가상 환경은 프로젝트별로 독립된 격리된 공간을 만들어, 각 공간마다 필요한 파이썬 버전과 라이브러리를 자유롭게 설치할 수 있도록 돕습니다.


1. venv: 파이썬의 표준, 가장 기본적인 선택

venv는 파이썬 3.3 버전부터 기본적으로 내장된 가상 환경 도구입니다. 별도의 설치가 필요 없어 가장 쉽고 빠르게 사용할 수 있다는 것이 큰 장점입니다. 특별한 기능이 필요 없다면 venv만으로도 충분합니다.

간단 사용법:


<!-- -->
# "my_project_env"라는 이름의 가상 환경 생성
python -m venv my_project_env


<!-- -->
# 가상 환경 활성화 (Windows)
my_project_env\Scripts\activate


<!-- -->
# 가상 환경 활성화 (macOS/Linux)
source my_project_env/bin/activate

활성화되면 터미널 프롬프트 앞에 (my_project_env)와 같이 가상 환경 이름이 표시됩니다.

2. Conda: 데이터 과학자를 위한 올인원 솔루션

Conda는 단순히 파이썬 패키지만 관리하는 것을 넘어, C/C++, R 등 파이썬이 아닌 다른 언어의 라이브러리까지 한 번에 관리할 수 있는 강력한 패키지 및 환경 관리자입니다. 특히 데이터 과학 분야에서 NumPy, SciPy처럼 복잡한 의존성을 가진 패키지를 설치할 때 빛을 발합니다.

간단 사용법:


<!-- -->
# "data_env"라는 이름으로 python 3.9 버전의 가상 환경 생성
conda create --name data_env python=3.9


<!-- -->
# 가상 환경 활성화
conda activate data_env

3. Virtualenv: 전통의 강자, 유연한 선택지

virtualenvvenv가 파이썬에 내장되기 전부터 오랫동안 사용되어 온 원조 가상 환경 도구입니다. venv보다 더 많은 기능과 옵션을 제공하며, 오래된 파이썬 버전도 지원한다는 장점이 있습니다.

간단 사용법:


<!-- -->
# virtualenv 설치
pip install virtualenv


<!-- -->
# "legacy_env"라는 이름의 가상 환경 생성
virtualenv legacy_env


<!-- -->
# 활성화 방법은 venv와 동일합니다.
source legacy_env/bin/activate

4. uv: 신흥 강자, 압도적인 속도

uv는 최근 등장한 차세대 파이썬 패키징 도구로, Rust로 개발되어 압도적으로 빠른 속도를 자랑합니다. 기존의 pip, venv를 대체하는 것을 목표로 하며, 패키지 설치와 가상 환경 생성이 수십 배 빨라 개발 경험을 쾌적하게 만들어줍니다.

간단 사용법:


<!-- -->
# uv 설치 (macOS/Linux)
curl -LsSf https://astral.sh/uv/install.sh | sh


<!-- -->
# "fast_env"라는 이름의 가상 환경 생성 및 활성화
uv venv fast_env
source fast_env/bin/activate

프로젝트의 성격에 맞추어 필요한 도구를 선택하세요. 깔끔하고 안정적인 개발 환경을 구축하기 위해서는 가상 환경을 적극 사용해야 합니다.