
파이썬 가상환경 이해
Python
2024.12.13.
1. 가상 환경이란?
가상환경(virtual environment)은 프로젝트마다 독립된 파이썬 환경을 제공하는 시스템
파이썬의 경우 pip(파이썬 패키지 매니저)를 통해 필요한 패키지를 설치할 수 있다.
pip로 설치한 패키지는 전역으로 설치된다.
프로젝트가 여러개일 경우 각 프로젝트마다 사용하는 라이브러리나 패키지의 버전 때문에 문제가 생길 수 있는데
가상환경은 각 프로젝트에 필요한 라이브러리와 패키지를 다른 프로젝트와 독립적으로 설치하고 관리하게 해준다.
이를 통해 프로젝트간 종속성 충돌을 방지하고, 서로 다른 프로젝트가 서로 다른 라이브러리 버전을 요구하는 경우에 문제가 발생하지 않는다.
2. 가상 환경 사용의 이점
- 패키지 충돌 방지
- 서로 다른 프로젝트가 동일한 패키지의 다른 버전을 요구하는 경우 충돌 방지
- 개발 환경 재현
- 특정 프로젝트에서 사용된 패키지
- 업데이트 관리
- 가상환경을 사용하면 시스템 전반에 영향을 미치지 않고 개별 프로젝트의 종속성을 업데이트 가능
3. Conda vs Venv
많이 사용되는 가상환경인데 각각 살펴보자
Conda
- 파이썬 및 기타 프로그래밍 언어를 위한 오픈소스 패키지 관리 시스템이자 환경 시스템
- 데이터 과학과 기계학습 프로젝트에 용이
Venv (Virtual Environment)
- 파이썬을 위한 가상 환경 생성 도구
- 파이썬 3.3부터 표준 라이브러리에 포함된다.
Conda
- 복잡한 데이터 과학 프로젝트나 다양한 언어를 사용하는 프로젝트에 추천
- Conda를 통해 라이브러리 간의 복잡한 의존성을 관리하고, 특히 과학 계산이나 데이터 분석에 필요한 패키지를 쉽게 설치 가능
# 가상환경 생성 (env_name은 가상환경 이름)
conda create --name env_name python=3.8
# 가상환경 활성화
conda activate env_name
# 가상환경 목록 보기
conda env list
# 가상환경 제거
conda env remove --name env_name
# 패키지 목록 보기
conda list
Venv
- 기본적인 파이썬 개발 환경이 필요한 경우에 적합합니다.
- 가벼운 프로젝트나 파이썬 학습, 작은 규모의 웹 애플리케이션 개발에 주로 사용
mkdir myproject
cd myproject
virtualenv venv
# 가상환경 생성 (env_name은 가상환경 이름)
python3 -m venv env_name
# 가상환경 활성화 (맥/리눅스)
source env_name/bin/activate
# 가상환경 활성화 (윈도우)
env_name\Scripts\activate
# 설치된 패키지 목록 확인
pip list
Reference
파이썬 가상환경: Conda와 Venv의 이해
2.5.1. 가상환경이란
파이썬(Python) - 가상 환경(Virtual Environments)